Merge "monolog: MWLoggerMonologSamplingHandler"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 23 Dec 2014 19:05:02 +0000 (19:05 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 23 Dec 2014 19:05:02 +0000 (19:05 +0000)
65 files changed:
RELEASE-NOTES-1.25
autoload.php
docs/hooks.txt
includes/api/ApiBase.php
includes/api/ApiExpandTemplates.php
includes/api/ApiHelp.php
includes/api/ApiHelpParamValueMessage.php [new file with mode: 0644]
includes/api/ApiParamInfo.php
includes/api/ApiQueryAllImages.php
includes/api/ApiQueryImageInfo.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryStashImageInfo.php
includes/api/i18n/be-tarask.json
includes/api/i18n/en.json
includes/api/i18n/gl.json
includes/api/i18n/qqq.json
includes/api/i18n/sr-ec.json
includes/api/i18n/zh-hans.json
includes/gallery/ImageGalleryBase.php
includes/installer/i18n/et.json
includes/installer/i18n/ms.json
includes/page/Article.php
includes/parser/Parser.php
includes/poolcounter/PoolCounter.php
includes/poolcounter/PoolCounterRedis.php
includes/skins/Skin.php
includes/specials/SpecialFileDuplicateSearch.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialSearch.php
includes/title/MalformedTitleException.php
includes/title/MediaWikiPageLinkRenderer.php
includes/title/MediaWikiTitleCodec.php
includes/title/PageLinkRenderer.php
includes/title/TitleFormatter.php
includes/title/TitleParser.php
includes/title/TitleValue.php
includes/utils/AutoloadGenerator.php
languages/i18n/ang.json
languages/i18n/cdo.json
languages/i18n/cs.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/en.json
languages/i18n/es.json
languages/i18n/he.json
languages/i18n/hr.json
languages/i18n/kab.json
languages/i18n/lb.json
languages/i18n/lrc.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/pms.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/uz.json
languages/i18n/zh-hans.json
resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css
tests/parser/parserTests.txt

index 1956eb6..77dc55b 100644 (file)
@@ -115,6 +115,7 @@ production.
    and MovePage::checkPermissions().
 * The Special:WhatLinksHere page linked from 'Number of redirects to this page'
   on action=info about a file page does not list file links anymore.
+* (T78637) Search bar is not autofocused unless it is empty so that proper scrolling using arrow keys is possible.
 
 === Action API changes in 1.25 ===
 * (T67403) XML tag highlighting is now only performed for formats
@@ -159,6 +160,7 @@ production.
 * (T76051) list=tags will now continue correctly.
 * (T76052) list=tags can now indicate whether a tag is defined.
 * (T75522) list=prefixsearch now supports continuation
+* (T78737) action=expandtemplates can now return page properties.
 
 === Action API internal changes in 1.25 ===
 * ApiHelp has been rewritten to support i18n and paginated HTML output.
@@ -279,6 +281,8 @@ changes to languages because of Bugzilla reports.
    However, this difference is unlikely to arise in practice.
 * (T67278) RFC, PMID, and ISBN "magic links" must be surrounded by non-word
   characters on both sides.
+* (T30950, T31025) RFC, PMID, and ISBN "magic links" can no longer contain
+  newlines; but they can contain &nbsp; and other non-newline whitespace.
 
 == Compatibility ==
 
index 50727bc..6cefa13 100644 (file)
@@ -44,6 +44,7 @@ $wgAutoloadLocalClasses = array(
        'ApiFormatXmlRsd' => __DIR__ . '/includes/api/ApiRsd.php',
        'ApiFormatYaml' => __DIR__ . '/includes/api/ApiFormatYaml.php',
        'ApiHelp' => __DIR__ . '/includes/api/ApiHelp.php',
+       'ApiHelpParamValueMessage' => __DIR__ . '/includes/api/ApiHelpParamValueMessage.php',
        'ApiImageRotate' => __DIR__ . '/includes/api/ApiImageRotate.php',
        'ApiImport' => __DIR__ . '/includes/api/ApiImport.php',
        'ApiImportReporter' => __DIR__ . '/includes/api/ApiImport.php',
index f83a6c3..8d024d6 100644 (file)
@@ -1261,7 +1261,7 @@ $reason: reason
 
 'GalleryGetModes': Get list of classes that can render different modes of a
  gallery
-$modeArray: An associative array mapping mode names to classes that implement
+&$modeArray: An associative array mapping mode names to classes that implement
  that mode. It is expected all registered classes are a subclass of
  ImageGalleryBase.
 
index 9cb895d..9985c36 100644 (file)
@@ -66,13 +66,11 @@ abstract class ApiBase extends ContextSource {
        const PARAM_RANGE_ENFORCE = 9;
        /// @since 1.25
        // Specify an alternative i18n message for this help parameter.
-       // Value can be a string key, an array giving key and parameters, or a
-       // Message object.
+       // Value is $msg for ApiBase::makeMessage()
        const PARAM_HELP_MSG = 10;
        /// @since 1.25
        // Specify additional i18n messages to append to the normal message. Value
-       // is an array of any of strings giving the message key, arrays giving key and
-       // parameters, or Message objects.
+       // is an array of $msg for ApiBase::makeMessage()
        const PARAM_HELP_MSG_APPEND = 11;
        /// @since 1.25
        // Specify additional information tags for the parameter. Value is an array
@@ -82,9 +80,14 @@ abstract class ApiBase extends ContextSource {
        // comma-joined list of values, $3 = module prefix.
        const PARAM_HELP_MSG_INFO = 12;
        /// @since 1.25
-       // When PARAM_DFLT is an array, this may be an array mapping those values
+       // When PARAM_TYPE is an array, this may be an array mapping those values
        // to page titles which will be linked in the help.
        const PARAM_VALUE_LINKS = 13;
+       /// @since 1.25
+       // When PARAM_TYPE is an array, this is an array mapping those values to
+       // $msg for ApiBase::makeMessage(). Any value not having a mapping will use
+       // apihelp-{$path}-paramvalue-{$param}-{$value} is used.
+       const PARAM_HELP_MSG_PER_VALUE = 14;
 
        const LIMIT_BIG1 = 500; // Fast query, std user limit
        const LIMIT_BIG2 = 5000; // Fast query, bot/sysop limit
@@ -2018,6 +2021,10 @@ abstract class ApiBase extends ContextSource {
         * @return array Keys are parameter names, values are arrays of Message objects
         */
        public function getFinalParamDescription() {
+               $prefix = $this->getModulePrefix();
+               $name = $this->getModuleName();
+               $path = $this->getModulePath();
+
                $desc = $this->getParamDescription();
                Hooks::run( 'APIGetParamDescription', array( &$this, &$desc ) );
 
@@ -2048,35 +2055,61 @@ abstract class ApiBase extends ContextSource {
                        if ( isset( $settings[ApiBase::PARAM_HELP_MSG] ) ) {
                                $msg = $settings[ApiBase::PARAM_HELP_MSG];
                        } else {
-                               $msg = $this->msg( "apihelp-{$this->getModulePath()}-param-{$param}" );
+                               $msg = $this->msg( "apihelp-{$path}-param-{$param}" );
                                if ( !$msg->exists() ) {
                                        $msg = $this->msg( 'api-help-fallback-parameter', $d );
                                }
                        }
-                       $msg = ApiBase::makeMessage( $msg, $this->getContext(), array(
-                               $this->getModulePrefix(),
-                               $param,
-                               $this->getModuleName(),
-                               $this->getModulePath(),
-                       ) );
+                       $msg = ApiBase::makeMessage( $msg, $this->getContext(),
+                               array( $prefix, $param, $name, $path ) );
                        if ( !$msg ) {
                                $this->dieDebug( __METHOD__,
                                        'Value in ApiBase::PARAM_HELP_MSG is not valid' );
                        }
                        $msgs[$param] = array( $msg );
 
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) {
+                               if ( !is_array( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) {
+                                       $this->dieDebug( __METHOD__,
+                                               'ApiBase::PARAM_HELP_MSG_PER_VALUE is not valid' );
+                               }
+                               if ( !is_array( $settings[ApiBase::PARAM_TYPE] ) ) {
+                                       $this->dieDebug( __METHOD__,
+                                               'ApiBase::PARAM_HELP_MSG_PER_VALUE may only be used when ' .
+                                               'ApiBase::PARAM_TYPE is an array' );
+                               }
+
+                               $valueMsgs = $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE];
+                               foreach ( $settings[ApiBase::PARAM_TYPE] as $value ) {
+                                       if ( isset( $valueMsgs[$value] ) ) {
+                                               $msg = $valueMsgs[$value];
+                                       } else {
+                                               $msg = "apihelp-{$path}-paramvalue-{$param}-{$value}";
+                                       }
+                                       $m = ApiBase::makeMessage( $msg, $this->getContext(),
+                                               array( $prefix, $param, $name, $path, $value ) );
+                                       if ( $m ) {
+                                               $m = new ApiHelpParamValueMessage(
+                                                       $value,
+                                                       array( $m->getKey(), 'api-help-param-no-description' ),
+                                                       $m->getParams()
+                                               );
+                                               $msgs[$param][] = $m->setContext( $this->getContext() );
+                                       } else {
+                                               $this->dieDebug( __METHOD__,
+                                                       "Value in ApiBase::PARAM_HELP_MSG_PER_VALUE for $value is not valid" );
+                                       }
+                               }
+                       }
+
                        if ( isset( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) {
                                if ( !is_array( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) {
                                        $this->dieDebug( __METHOD__,
                                                'Value for ApiBase::PARAM_HELP_MSG_APPEND is not an array' );
                                }
                                foreach ( $settings[ApiBase::PARAM_HELP_MSG_APPEND] as $m ) {
-                                       $m = ApiBase::makeMessage( $m, $this->getContext(), array(
-                                               $this->getModulePrefix(),
-                                               $param,
-                                               $this->getModuleName(),
-                                               $this->getModulePath(),
-                                       ) );
+                                       $m = ApiBase::makeMessage( $m, $this->getContext(),
+                                               array( $prefix, $param, $name, $path ) );
                                        if ( $m ) {
                                                $msgs[$param][] = $m;
                                        } else {
index 751be75..4a5afb9 100644 (file)
@@ -114,7 +114,7 @@ class ApiExpandTemplates extends ApiBase {
                        } else {
                                if ( isset( $prop['categories'] ) ) {
                                        $categories = $wgParser->getOutput()->getCategories();
-                                       if ( !empty( $categories ) ) {
+                                       if ( $categories ) {
                                                $categories_result = array();
                                                foreach ( $categories as $category => $sortkey ) {
                                                        $entry = array();
@@ -126,6 +126,20 @@ class ApiExpandTemplates extends ApiBase {
                                                $retval['categories'] = $categories_result;
                                        }
                                }
+                               if ( isset( $prop['properties'] ) ) {
+                                       $properties = $wgParser->getOutput()->getProperties();
+                                       if ( $properties ) {
+                                               $properties_result = array();
+                                               foreach ( $properties as $name => $value ) {
+                                                       $entry = array();
+                                                       $entry['name'] = $name;
+                                                       ApiResult::setContent( $entry, $value );
+                                                       $properties_result[] = $entry;
+                                               }
+                                               $result->setIndexedTagName( $properties_result, 'property' );
+                                               $retval['properties'] = $properties_result;
+                                       }
+                               }
                                if ( isset( $prop['volatile'] ) && $frame->isVolatile() ) {
                                        $retval['volatile'] = '';
                                }
@@ -157,6 +171,7 @@ class ApiExpandTemplates extends ApiBase {
                                ApiBase::PARAM_TYPE => array(
                                        'wikitext',
                                        'categories',
+                                       'properties',
                                        'volatile',
                                        'ttl',
                                        'parsetree',
index 8708fb7..dd05f45 100644 (file)
@@ -546,10 +546,10 @@ class ApiHelp extends ApiBase {
                                        }
 
                                        if ( $description ) {
-                                               $help['parameters'] .= Html::openElement( 'dd',
-                                                       array( 'class' => 'description' ) );
-                                               $help['parameters'] .= join( '', $description );
-                                               $help['parameters'] .= Html::closeElement( 'dd' );
+                                               $description = join( '', $description );
+                                               $description = preg_replace( '!\s*</([oud]l)>\s*<\1>\s*!', "\n", $description );
+                                               $help['parameters'] .= Html::rawElement( 'dd',
+                                                       array( 'class' => 'description' ), $description );
                                        }
 
                                        foreach ( $info as $i ) {
diff --git a/includes/api/ApiHelpParamValueMessage.php b/includes/api/ApiHelpParamValueMessage.php
new file mode 100644 (file)
index 0000000..7cf3d6e
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+/**
+ *
+ *
+ * Created on Dec 22, 2014
+ *
+ * Copyright © 2014 Brad Jorsch <bjorsch@wikimedia.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Message subclass that prepends wikitext for API help.
+ *
+ * This exists so the apihelp-*-paramvalue-*-* messages don't all have to
+ * include markup wikitext while still keeping the
+ * 'APIGetParamDescriptionMessages' hook simple.
+ *
+ * @since 1.25
+ */
+class ApiHelpParamValueMessage extends Message {
+
+       protected $paramValue;
+
+       /**
+        * @see Message::__construct
+        *
+        * @param string $paramValue Parameter value being documented
+        * @param string $text Message to use.
+        * @param array $params Parameters for the message.
+        * @throws InvalidArgumentException
+        */
+       public function __construct( $paramValue, $text, $params = array() ) {
+               parent::__construct( $text, $params );
+               $this->paramValue = $paramValue;
+       }
+
+       /**
+        * Fetch the parameter value
+        * @return string
+        */
+       public function getParamValue() {
+               return $this->paramValue;
+       }
+
+       /**
+        * Fetch the message.
+        * @return string
+        */
+       public function fetchMessage() {
+               if ( $this->message === null ) {
+                       $this->message = ";{$this->paramValue}:" . parent::fetchMessage();
+               }
+               return $this->message;
+       }
+
+}
index 17773a7..b74d528 100644 (file)
@@ -129,8 +129,9 @@ class ApiParamInfo extends ApiBase {
         * @param array $res Result array
         * @param string $key Result key
         * @param Message[] $msgs
+        * @param bool $joinLists
         */
-       protected function formatHelpMessages( array &$res, $key, array $msgs ) {
+       protected function formatHelpMessages( array &$res, $key, array $msgs, $joinLists = false ) {
                switch ( $this->helpFormat ) {
                        case 'none':
                                break;
@@ -141,6 +142,9 @@ class ApiParamInfo extends ApiBase {
                                        $ret[] = $m->setContext( $this->context )->text();
                                }
                                $res[$key] = join( "\n\n", $ret );
+                               if ( $joinLists ) {
+                                       $res[$key] = preg_replace( '!^(([*#:;])[^\n]*)\n\n(?=\2)!m', "$1\n", $res[$key] );
+                               }
                                break;
 
                        case 'html':
@@ -148,16 +152,24 @@ class ApiParamInfo extends ApiBase {
                                foreach ( $msgs as $m ) {
                                        $ret[] = $m->setContext( $this->context )->parseAsBlock();
                                }
-                               $res[$key] = join( "\n", $ret );
+                               $ret = join( "\n", $ret );
+                               if ( $joinLists ) {
+                                       $ret = preg_replace( '!\s*</([oud]l)>\s*<\1>\s*!', "\n", $ret );
+                               }
+                               $res[$key] = $ret;
                                break;
 
                        case 'raw':
                                $res[$key] = array();
                                foreach ( $msgs as $m ) {
-                                       $res[$key][] = array(
+                                       $a = array(
                                                'key' => $m->getKey(),
                                                'params' => $m->getParams(),
                                        );
+                                       if ( $m instanceof ApiHelpParamValueMessage ) {
+                                               $a['forvalue'] = $m->getParamValue();
+                                       }
+                                       $res[$key][] = $a;
                                }
                                $this->getResult()->setIndexedTagName( $res[$key], 'msg' );
                                break;
@@ -232,7 +244,7 @@ class ApiParamInfo extends ApiBase {
                                'name' => $name
                        );
                        if ( isset( $paramDesc[$name] ) ) {
-                               $this->formatHelpMessages( $item, 'description', $paramDesc[$name] );
+                               $this->formatHelpMessages( $item, 'description', $paramDesc[$name], true );
                        }
 
                        if ( !empty( $settings[ApiBase::PARAM_REQUIRED] ) ) {
index 725b782..20e9f5e 100644 (file)
@@ -333,7 +333,9 @@ class ApiQueryAllImages extends ApiQueryGeneratorBase {
                        'prop' => array(
                                ApiBase::PARAM_TYPE => ApiQueryImageInfo::getPropertyNames( $this->propertyFilter ),
                                ApiBase::PARAM_DFLT => 'timestamp|url',
-                               ApiBase::PARAM_ISMULTI => true
+                               ApiBase::PARAM_ISMULTI => true,
+                               ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-prop',
+                               ApiBase::PARAM_HELP_MSG_PER_VALUE => ApiQueryImageInfo::getPropertyMessages( $this->propertyFilter ),
                        ),
                        'prefix' => null,
                        'minsize' => array(
index cfd06f1..c4ca5d6 100644 (file)
@@ -632,7 +632,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        'prop' => array(
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'timestamp|user',
-                               ApiBase::PARAM_TYPE => self::getPropertyNames()
+                               ApiBase::PARAM_TYPE => self::getPropertyNames(),
+                               ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages(),
                        ),
                        'limit' => array(
                                ApiBase::PARAM_TYPE => 'limit',
@@ -690,11 +691,43 @@ class ApiQueryImageInfo extends ApiQueryBase {
         * Returns all possible parameters to iiprop
         *
         * @param array $filter List of properties to filter out
-        *
         * @return array
         */
        public static function getPropertyNames( $filter = array() ) {
-               return array_diff( array_keys( self::getProperties() ), $filter );
+               return array_keys( self::getPropertyMessages( $filter ) );
+       }
+
+       /**
+        * Returns messages for all possible parameters to iiprop
+        *
+        * @param array $filter List of properties to filter out
+        * @return array
+        */
+       public static function getPropertyMessages( $filter = array() ) {
+               return array_diff_key(
+                       array(
+                               'timestamp' => 'apihelp-query+imageinfo-paramvalue-prop-timestamp',
+                               'user' => 'apihelp-query+imageinfo-paramvalue-prop-user',
+                               'userid' => 'apihelp-query+imageinfo-paramvalue-prop-userid',
+                               'comment' => 'apihelp-query+imageinfo-paramvalue-prop-comment',
+                               'parsedcomment' => 'apihelp-query+imageinfo-paramvalue-prop-parsedcomment',
+                               'canonicaltitle' => 'apihelp-query+imageinfo-paramvalue-prop-canonicaltitle',
+                               'url' => 'apihelp-query+imageinfo-paramvalue-prop-url',
+                               'size' => 'apihelp-query+imageinfo-paramvalue-prop-size',
+                               'dimensions' => 'apihelp-query+imageinfo-paramvalue-prop-dimensions',
+                               'sha1' => 'apihelp-query+imageinfo-paramvalue-prop-sha1',
+                               'mime' => 'apihelp-query+imageinfo-paramvalue-prop-mime',
+                               'thumbmime' => 'apihelp-query+imageinfo-paramvalue-prop-thumbmime',
+                               'mediatype' => 'apihelp-query+imageinfo-paramvalue-prop-mediatype',
+                               'metadata' => 'apihelp-query+imageinfo-paramvalue-prop-metadata',
+                               'commonmetadata' => 'apihelp-query+imageinfo-paramvalue-prop-commonmetadata',
+                               'extmetadata' => 'apihelp-query+imageinfo-paramvalue-prop-extmetadata',
+                               'archivename' => 'apihelp-query+imageinfo-paramvalue-prop-archivename',
+                               'bitdepth' => 'apihelp-query+imageinfo-paramvalue-prop-bitdepth',
+                               'uploadwarning' => 'apihelp-query+imageinfo-paramvalue-prop-uploadwarning',
+                       ),
+                       array_flip( $filter )
+               );
        }
 
        /**
index 88b2074..e6667b4 100644 (file)
@@ -811,7 +811,9 @@ class ApiQueryInfo extends ApiQueryBase {
                                        'displaytitle',
                                        // If you add more properties here, please consider whether they
                                        // need to be added to getCacheMode()
-                               ) ),
+                               ),
+                               ApiBase::PARAM_HELP_MSG_PER_VALUE => array(),
+                       ),
                        'token' => array(
                                ApiBase::PARAM_DEPRECATED => true,
                                ApiBase::PARAM_DFLT => null,
index be6f669..1debb2e 100644 (file)
@@ -90,7 +90,9 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
                        'prop' => array(
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'timestamp|url',
-                               ApiBase::PARAM_TYPE => self::getPropertyNames( $this->propertyFilter )
+                               ApiBase::PARAM_TYPE => self::getPropertyNames( $this->propertyFilter ),
+                               ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-prop',
+                               ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages( $this->propertyFilter )
                        ),
                        'urlwidth' => array(
                                ApiBase::PARAM_TYPE => 'integer',
index 4849920..3e8e3bc 100644 (file)
@@ -30,5 +30,7 @@
        "apihelp-block-param-watchuser": "Назіраць за старонкай удзельніка або старонкай IP-адрасу, а таксама старонкай гутарак.",
        "apihelp-block-example-ip-simple": "Заблякаваць IP-адрас 192.0.2.5 на тры дні з прычынай «First strike»",
        "apihelp-block-example-user-complex": "Заблякаваць удзельніка Vandal назаўсёды з прычынай «Vandalism», а таксама забараніць стварэньне новых рахункаў і адсылку лістоў электроннай поштай",
-       "apihelp-clearhasmsg-description": "Ачышчае сьцяг hasmsg для актуальнага карыстальніка."
+       "apihelp-clearhasmsg-description": "Ачышчае сьцяг hasmsg для актуальнага карыстальніка.",
+       "apihelp-clearhasmsg-example-1": "Ачыстка сьцягу hasmsg для актуальнага карыстальніка",
+       "apihelp-compare-description": "Атрымаць розьніцу паміж 2 старонкамі.\n\nВы мусіце перадаць нумар вэрсіі, назву або ID старонкі для абодвух «from» і «to»."
 }
index d0eb230..61de86c 100644 (file)
        "apihelp-expandtemplates-param-title": "Title of page.",
        "apihelp-expandtemplates-param-text": "Wikitext to convert.",
        "apihelp-expandtemplates-param-revid": "Revision ID, for <nowiki>{{REVISIONID}}</nowiki> and similar variables.",
-       "apihelp-expandtemplates-param-prop": "Which pieces of information to get:\n;wikitext:The expanded wikitext.\n;categories:Any categories present in the input that are not represented in the wikitext output.\n;volatile:Whether the output is volatile and should not be reused elsewhere within the page.\n;ttl:The maximum time after which caches of the result should be invalidated.\n;parsetree:The XML parse tree of the input.\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.",
+       "apihelp-expandtemplates-param-prop": "Which pieces of information to get:\n;wikitext:The expanded wikitext.\n;categories:Any categories present in the input that are not represented in the wikitext output.\n;properties:Page properties defined by expanded magic words in the wikitext.\n;volatile:Whether the output is volatile and should not be reused elsewhere within the page.\n;ttl:The maximum time after which caches of the result should be invalidated.\n;parsetree:The XML parse tree of the input.\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.",
        "apihelp-expandtemplates-param-includecomments": "Whether to include HTML comments in the output.",
        "apihelp-expandtemplates-param-generatexml": "Generate XML parse tree (replaced by $1prop=parsetree).",
        "apihelp-expandtemplates-example-simple": "Expand the wikitext \"<nowiki>{{Project:Sandbox}}</nowiki>\"",
        "apihelp-query+allimages-param-to": "The image title to stop enumerating at. Can only be used with $1sort=name.",
        "apihelp-query+allimages-param-start": "The timestamp to start enumerating from. Can only be used with $1sort=timestamp.",
        "apihelp-query+allimages-param-end": "The timestamp to end enumerating. Can only be used with $1sort=timestamp.",
-       "apihelp-query+allimages-param-prop": "Which image information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;user:Adds the user who uploaded the image version.\n;userid:Add the user ID that uploaded the image version.\n;comment:Comment on the version.\n;parsedcomment:Parse the comment on the version.\n;canonicaltitle:Adds the canonical title of the image file.\n;url:Gives URL to the image and the description page.\n;size:Adds the size of the image in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the image.\n;mime:Adds MIME type of the image.\n;mediatype:Adds the media type of the image.\n;metadata:Lists Exif metadata for the version of the image.\n;commonmetadata:Lists file format generic metadata for the version of the image.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;bitdepth:Adds the bit depth of the version.",
        "apihelp-query+allimages-param-prefix": "Search for all image titles that begin with this value. Can only be used with $1sort=name.",
        "apihelp-query+allimages-param-minsize": "Limit to images with at least this many bytes.",
        "apihelp-query+allimages-param-maxsize": "Limit to images with at most this many bytes.",
        "apihelp-query+fileusage-example-generator": "Get information about pages using [[:File:Example.jpg]]",
 
        "apihelp-query+imageinfo-description": "Returns file information and upload history.",
-       "apihelp-query+imageinfo-param-prop": "Which file information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;user:Adds the user who uploaded each file version.\n;userid:Add the user ID that uploaded each file version.\n;comment:Comment on the version.\n;parsedcomment:Parse the comment on the version.\n;canonicaltitle:Adds the canonical title of the file.\n;url:Gives URL to the file and the description page.\n;size:Adds the size of the file in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the file.\n;mime:Adds MIME type of the file.\n;thumbmime:Adds MIME type of the image thumbnail (requires url and param $1urlwidth).\n;mediatype:Adds the media type of the file.\n;metadata:Lists Exif metadata for the version of the file.\n;commonmetadata:Lists file format generic metadata for the version of the file.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;archivename:Adds the file name of the archive version for non-latest versions.\n;bitdepth:Adds the bit depth of the version.\n;uploadwarning:Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.",
+       "apihelp-query+imageinfo-param-prop": "Which file information to get:",
+       "apihelp-query+imageinfo-paramvalue-prop-timestamp": "Adds timestamp for the uploaded version.",
+       "apihelp-query+imageinfo-paramvalue-prop-user":"Adds the user who uploaded each file version.",
+       "apihelp-query+imageinfo-paramvalue-prop-userid":"Add the user ID that uploaded each file version.",
+       "apihelp-query+imageinfo-paramvalue-prop-comment":"Comment on the version.",
+       "apihelp-query+imageinfo-paramvalue-prop-parsedcomment":"Parse the comment on the version.",
+       "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle":"Adds the canonical title of the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-url":"Gives URL to the file and the description page.",
+       "apihelp-query+imageinfo-paramvalue-prop-size":"Adds the size of the file in bytes and the height, width and page count (if applicable).",
+       "apihelp-query+imageinfo-paramvalue-prop-dimensions":"Alias for size.",
+       "apihelp-query+imageinfo-paramvalue-prop-sha1":"Adds SHA-1 hash for the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-mime":"Adds MIME type of the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-thumbmime":"Adds MIME type of the image thumbnail (requires url and param $1urlwidth).",
+       "apihelp-query+imageinfo-paramvalue-prop-mediatype":"Adds the media type of the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-metadata":"Lists Exif metadata for the version of the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-commonmetadata":"Lists file format generic metadata for the version of the file.",
+       "apihelp-query+imageinfo-paramvalue-prop-extmetadata":"Lists formatted metadata combined from multiple sources. Results are HTML formatted.",
+       "apihelp-query+imageinfo-paramvalue-prop-archivename":"Adds the file name of the archive version for non-latest versions.",
+       "apihelp-query+imageinfo-paramvalue-prop-bitdepth":"Adds the bit depth of the version.",
+       "apihelp-query+imageinfo-paramvalue-prop-uploadwarning":"Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.",
        "apihelp-query+imageinfo-param-limit": "How many file revisions to return per file.",
        "apihelp-query+imageinfo-param-start": "Timestamp to start listing from.",
        "apihelp-query+imageinfo-param-end": "Timestamp to stop listing at.",
        "apihelp-query+imageusage-example-generator": "Get information about pages using [[:File:Albert Einstein Head.jpg]]",
 
        "apihelp-query+info-description": "Get basic page information.",
-       "apihelp-query+info-param-prop": "Which additional properties to get:\n;protection:List the protection level of each page.\n;talkid:The page ID of the talk page for each non-talk page.\n;watched:List the watched status of each page.\n;watchers:The number of watchers, if allowed.\n;notificationtimestamp:The watchlist notification timestamp of each page.\n;subjectid:The page ID of the parent page for each talk page.\n;url:Gives a full URL, an edit URL, and the canonical URL for each page.\n;readable:Whether the user can read this page.\n;preload:Gives the text returned by EditFormPreloadText.\n;displaytitle:Gives the way the page title is actually displayed.",
+       "apihelp-query+info-param-prop": "Which additional properties to get:",
+       "apihelp-query+info-paramvalue-prop-protection": "List the protection level of each page.",
+       "apihelp-query+info-paramvalue-prop-talkid": "The page ID of the talk page for each non-talk page.",
+       "apihelp-query+info-paramvalue-prop-watched": "List the watched status of each page.",
+       "apihelp-query+info-paramvalue-prop-watchers": "The number of watchers, if allowed.",
+       "apihelp-query+info-paramvalue-prop-notificationtimestamp": "The watchlist notification timestamp of each page.",
+       "apihelp-query+info-paramvalue-prop-subjectid": "The page ID of the parent page for each talk page.",
+       "apihelp-query+info-paramvalue-prop-url": "Gives a full URL, an edit URL, and the canonical URL for each page.",
+       "apihelp-query+info-paramvalue-prop-readable": "Whether the user can read this page.",
+       "apihelp-query+info-paramvalue-prop-preload": "Gives the text returned by EditFormPreloadText.",
+       "apihelp-query+info-paramvalue-prop-displaytitle": "Gives the way the page title is actually displayed.",
        "apihelp-query+info-param-token": "Use [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] instead.",
        "apihelp-query+info-example-simple": "Get information about the [[Main Page]]",
        "apihelp-query+info-example-protection": "Get general and protection information about the [[Main Page]]",
        "apihelp-query+stashimageinfo-description": "Returns file information for stashed files.",
        "apihelp-query+stashimageinfo-param-filekey": "Key that identifies a previous upload that was stashed temporarily.",
        "apihelp-query+stashimageinfo-param-sessionkey": "Alias for $1filekey, for backward compatibility.",
-       "apihelp-query+stashimageinfo-param-prop": "Which image information to get:\n;timestamp:Adds timestamp for the uploaded version.\n;canonicaltitle:Adds the canonical title of the image file.\n;url:Gives URL to the image and the description page.\n;size:Adds the size of the image in bytes and the height, width and page count (if applicable).\n;dimensions:Alias for size.\n;sha1:Adds SHA-1 hash for the image.\n;mime:Adds MIME type of the image.\n;thumbmime:Adds MIME type of the image thumbnail (requires url and param $1urlwidth).\n;metadata:Lists Exif metadata for the version of the image.\n;commonmetadata:Lists file format generic metadata for the version of the image.\n;extmetadata:Lists formatted metadata combined from multiple sources. Results are HTML formatted.\n;bitdepth:Adds the bit depth of the version.",
        "apihelp-query+stashimageinfo-example-simple": "Returns information for a stashed file",
        "apihelp-query+stashimageinfo-example-params": "Returns thumbnails for two stashed files",
 
index f840d47..ec172e0 100644 (file)
@@ -7,25 +7,45 @@
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [https://www.mediawiki.org/wiki/API:Main_page Documentación]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discusión]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e solicitudes]\n</div>\n<strong>Estado:</strong> Tódalas funcionalidades mostradas nesta páxina deberían estar funcionanado, pero a API aínda está desenrolo, e pode ser modificada en calquera momento. Apúntese na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discusión mediawiki-api-announce] para estar informado acerca das actualizacións.\n\n<strong>Solicitudes incorrectas:</strong> Cando se envían solicitudes incorrectas á API, envíase unha cabeceira HTTP coa chave \"MediaWiki-API-Error\" e, a seguir, tanto o valor da cabeceira como o código de erro retornado serán definidos co mesmo valor. Para máis información, consulte https://www.mediawiki.org/wiki/API:Errors_and_warnings.",
        "apihelp-main-param-action": "Que acción se realizará.",
        "apihelp-main-param-format": "O formato de saída.",
+       "apihelp-main-param-requestid": "Calquera valor dado aquí será incluído na resposta. Pode usarse para distingir peticións.",
        "apihelp-main-param-curtimestamp": "Incluir a marca de tempo actual no resultado.",
        "apihelp-block-description": "Bloquear un usuario.",
+       "apihelp-block-param-user": "Nome de usuario, dirección ou rango de IPs que quere bloquear.",
        "apihelp-block-param-reason": "Motivo para o bloqueo.",
        "apihelp-block-param-anononly": "Bloquear só usuarios anónimos (é dicir, desactivar edicións anónimas desta IP).",
        "apihelp-block-param-nocreate": "Previr a creación de contas.",
        "apihelp-block-param-autoblock": "Bloquear automaticamente o último enderezo IP utilizado, e calquera outro enderezo desde o que intente conectarse.",
+       "apihelp-block-param-reblock": "Se o usuario xa está bloqueado, sobreescribir o bloqueo existente.",
        "apihelp-block-param-watchuser": "Vixiar a páxina de usuario ou IP e a de conversa deste usuario",
        "apihelp-compare-param-fromtitle": "Primeiro título para comparar.",
+       "apihelp-compare-param-fromid": "Identificador da primeira páxina a comparar.",
+       "apihelp-compare-param-fromrev": "Primeira revisión a comparar.",
        "apihelp-compare-param-totitle": "Segundo título para comparar.",
+       "apihelp-compare-param-toid": "Identificador da segunda páxina a comparar.",
+       "apihelp-compare-param-torev": "Segunda revisión a comparar.",
+       "apihelp-compare-example-1": "Mostrar diferencias entre a revisión 1 e a 2",
        "apihelp-createaccount-description": "Crear unha nova conta de usuario.",
        "apihelp-createaccount-param-name": "Nome de usuario.",
+       "apihelp-createaccount-param-password": "Contrasinal (ignorado se $1mailpassword está activo)",
+       "apihelp-createaccount-param-domain": "Dominio para autenticación externa (opcional)",
        "apihelp-createaccount-param-email": "Enderezo de correo eletrónico do usuario (opcional).",
        "apihelp-createaccount-param-realname": "Nome real do usuario (opcional).",
+       "apihelp-createaccount-example-pass": "Crear usuario \"testuser\" con contrasinal \"test123\"",
+       "apihelp-createaccount-example-mail": "Crear usuario \"testmailuser\" e enviar por correo electrónico un contrasinal xenerado de forma aleatoria",
        "apihelp-delete-description": "Borrar a páxina.",
+       "apihelp-delete-param-title": "Título da páxina que quere eliminar. Non pode usarse xunto con $1pageid.",
+       "apihelp-delete-param-pageid": "Identificador da páxina que quere eliminar. Non pode usarse xunto con $1title.",
+       "apihelp-delete-param-reason": "Razón para o borrado. Se non se indica, usarase unha razón xenerada automaticamente.",
        "apihelp-delete-param-watch": "Engadir esta páxina á lista de vixilancia.",
        "apihelp-delete-param-unwatch": "Eliminar esta páxina da lista de vixilancia.",
        "apihelp-delete-example-simple": "Borrar a Páxina Principal",
+       "apihelp-delete-example-reason": "Eliminar a Páxina Principal coa razón \"Preparando para mover\"",
        "apihelp-disabled-description": "Este módulo foi desactivado.",
        "apihelp-edit-description": "Crear e editar páxinas.",
+       "apihelp-edit-param-title": "Título da páxina que quere editar. Non pode usarse xunto con $1pageid.",
+       "apihelp-edit-param-pageid": "Identificador da páxina que quere editar. Non pode usarse xunto con $1title.",
+       "apihelp-edit-param-section": "Número de selección. O 0 é para a sección superior, \"novo\" para unha sección nova.",
+       "apihelp-edit-param-sectiontitle": "Título para unha nova sección.",
        "apihelp-edit-param-text": "Contido da páxina.",
        "apihelp-edit-param-minor": "Edición pequena.",
        "apihelp-edit-param-notminor": "Edición non pequena.",
        "apihelp-edit-param-unwatch": "Eliminar esta páxina da lista de vixilancia.",
        "apihelp-edit-example-edit": "Editar a páxina",
        "apihelp-emailuser-description": "Enviar un correo electrónico a un usuario.",
+       "apihelp-emailuser-param-target": "Usuario ó que lle mandar correo electrónico.",
+       "apihelp-emailuser-param-text": "Corpo do correo.",
+       "apihelp-emailuser-param-ccme": "Enviarme unha copia deste correo.",
+       "apihelp-expandtemplates-description": "Expandir tódolos modelos en wikitexto.",
        "apihelp-expandtemplates-param-title": "Título da páxina.",
-       "apihelp-expandtemplates-param-text": "Sintaxis wiki a converter."
+       "apihelp-expandtemplates-param-text": "Sintaxis wiki a converter.",
+       "apihelp-feedcontributions-description": "Devolve a lista de contribucións dun usuario.",
+       "apihelp-feedcontributions-param-year": "Desde o ano (e anteriores).",
+       "apihelp-feedcontributions-param-month": "Desde o mes de (e anteriores).",
+       "apihelp-feedcontributions-param-deletedonly": "Mostrar só as contribuciones eliminadas.",
+       "apihelp-feedcontributions-param-toponly": "Mostrar só as edicións que que son as ultimas revisións.",
+       "apihelp-feedcontributions-param-newonly": "Mostrar só as edicións que crearon páxinas.",
+       "apihelp-feedcontributions-param-showsizediff": "Mostrar diferenza de tamaño entre edicións.",
+       "apihelp-feedrecentchanges-param-limit": "Número máximo de resultados a visualizar.",
+       "apihelp-feedrecentchanges-param-from": "Mostrar modificacións desde entón.",
+       "apihelp-feedrecentchanges-param-hideminor": "Ocultar cambios menores.",
+       "apihelp-feedrecentchanges-param-hidebots": "Ocultar cambios feitos por bots.",
+       "apihelp-import-param-rootpage": "Importar como subpáxina desta páxina.",
+       "apihelp-login-param-name": "Nome de usuario.",
+       "apihelp-login-param-password": "Contrasinal",
+       "apihelp-login-param-domain": "Dominio (opcional).",
+       "apihelp-login-example-login": "Identificarse",
+       "apihelp-logout-description": "Terminar e limpar datos de sesión.",
+       "apihelp-move-description": "Mover unha páxina.",
+       "apihelp-move-param-from": "Título da páxina que quere mover. Non pode usarse xunto con $1fromid.",
+       "apihelp-move-param-fromid": "Identificador da páxina que quere mover. Non pode usarse xunto con $1from.",
+       "apihelp-move-param-reason": "Motivo para o movemento.",
+       "apihelp-move-param-movetalk": "Mover a páxina de conversa, se existe.",
+       "apihelp-move-param-noredirect": "Non crear unha redirección.",
+       "apihelp-move-param-watch": "Engadir a páxina e a redirección á súa páxina de vixiancia.",
+       "apihelp-move-param-unwatch": "Eliminar a páxina e a redirección da súa páxina de vixiancia.",
+       "apihelp-move-param-ignorewarnings": "Ignorar as advertencias.",
+       "apihelp-opensearch-param-search": "Buscar texto.",
+       "apihelp-opensearch-param-limit": "Número máximo de resultados a visualizar.",
+       "apihelp-opensearch-param-namespace": "Espazo de nomes no que buscar.",
+       "apihelp-opensearch-param-format": "O formato de saída.",
+       "apihelp-opensearch-example-te": "Atopar páxinas comezando por \"Te\"",
+       "apihelp-options-example-reset": "Restablecer tódaalas preferencias",
+       "apihelp-paraminfo-description": "Obter información sobre módulos API.",
+       "apihelp-patrol-example-rcid": "Patrullar un cambio recente",
+       "apihelp-patrol-example-revid": "Patrullar unha revisión",
+       "apihelp-protect-param-title": "Título da páxina que quere (des)protexer. Non pode usarse xunto con $1pageid.",
+       "apihelp-protect-param-pageid": "Identificador da páxina que quere (des)protexer. Non pode usarse xunto con $1title.",
+       "apihelp-protect-param-reason": "Razón para (des)protexer.",
+       "apihelp-protect-example-protect": "Protexer unha páxina",
+       "apihelp-purge-param-forcelinkupdate": "Actualizar as táboas de ligazóns.",
+       "apihelp-purge-example-simple": "Purgar a \"Páxina Principal\" e páxina \"API\""
 }
index 5c0a805..10bc46a 100644 (file)
        "apihelp-query+allimages-param-to": "{{doc-apihelp-param|query+allimages|to}}",
        "apihelp-query+allimages-param-start": "{{doc-apihelp-param|query+allimages|start}}",
        "apihelp-query+allimages-param-end": "{{doc-apihelp-param|query+allimages|end}}",
-       "apihelp-query+allimages-param-prop": "{{doc-apihelp-param|query+allimages|prop}}",
        "apihelp-query+allimages-param-prefix": "{{doc-apihelp-param|query+allimages|prefix}}",
        "apihelp-query+allimages-param-minsize": "{{doc-apihelp-param|query+allimages|minsize}}",
        "apihelp-query+allimages-param-maxsize": "{{doc-apihelp-param|query+allimages|maxsize}}",
        "apihelp-query+fileusage-example-simple": "{{doc-apihelp-example|query+fileusage}}",
        "apihelp-query+fileusage-example-generator": "{{doc-apihelp-example|query+fileusage}}",
        "apihelp-query+imageinfo-description": "{{doc-apihelp-description|query+imageinfo}}",
-       "apihelp-query+imageinfo-param-prop": "{{doc-apihelp-param|query+imageinfo|prop}}",
+       "apihelp-query+imageinfo-param-prop": "{{doc-apihelp-param|query+imageinfo|prop|paramvalues=1}}",
+       "apihelp-query+imageinfo-paramvalue-prop-archivename": "{{doc-apihelp-paramvalue|query+imageinfo|prop|archivename}}",
+       "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "{{doc-apihelp-paramvalue|query+imageinfo|prop|bitdepth}}",
+       "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle": "{{doc-apihelp-paramvalue|query+imageinfo|prop|canonicaltitle}}",
+       "apihelp-query+imageinfo-paramvalue-prop-comment": "{{doc-apihelp-paramvalue|query+imageinfo|prop|comment}}",
+       "apihelp-query+imageinfo-paramvalue-prop-commonmetadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|commonmetadata}}",
+       "apihelp-query+imageinfo-paramvalue-prop-dimensions": "{{doc-apihelp-paramvalue|query+imageinfo|prop|dimensions}}",
+       "apihelp-query+imageinfo-paramvalue-prop-extmetadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|extmetadata}}",
+       "apihelp-query+imageinfo-paramvalue-prop-mediatype": "{{doc-apihelp-paramvalue|query+imageinfo|prop|mediatype}}",
+       "apihelp-query+imageinfo-paramvalue-prop-metadata": "{{doc-apihelp-paramvalue|query+imageinfo|prop|metadata}}",
+       "apihelp-query+imageinfo-paramvalue-prop-mime": "{{doc-apihelp-paramvalue|query+imageinfo|prop|mime}}",
+       "apihelp-query+imageinfo-paramvalue-prop-parsedcomment": "{{doc-apihelp-paramvalue|query+imageinfo|prop|parsedcomment}}",
+       "apihelp-query+imageinfo-paramvalue-prop-sha1": "{{doc-apihelp-paramvalue|query+imageinfo|prop|sha1}}",
+       "apihelp-query+imageinfo-paramvalue-prop-size": "{{doc-apihelp-paramvalue|query+imageinfo|prop|size}}",
+       "apihelp-query+imageinfo-paramvalue-prop-thumbmime": "{{doc-apihelp-paramvalue|query+imageinfo|prop|thumbmime}}",
+       "apihelp-query+imageinfo-paramvalue-prop-timestamp": "{{doc-apihelp-paramvalue|query+imageinfo|prop|timestamp}}",
+       "apihelp-query+imageinfo-paramvalue-prop-uploadwarning": "{{doc-apihelp-paramvalue|query+imageinfo|prop|uploadwarning}}",
+       "apihelp-query+imageinfo-paramvalue-prop-url": "{{doc-apihelp-paramvalue|query+imageinfo|prop|url}}",
+       "apihelp-query+imageinfo-paramvalue-prop-user": "{{doc-apihelp-paramvalue|query+imageinfo|prop|user}}",
+       "apihelp-query+imageinfo-paramvalue-prop-userid": "{{doc-apihelp-paramvalue|query+imageinfo|prop|userid}}",
        "apihelp-query+imageinfo-param-limit": "{{doc-apihelp-param|query+imageinfo|limit}}",
        "apihelp-query+imageinfo-param-start": "{{doc-apihelp-param|query+imageinfo|start}}",
        "apihelp-query+imageinfo-param-end": "{{doc-apihelp-param|query+imageinfo|end}}",
        "apihelp-query+imageusage-example-simple": "{{doc-apihelp-example|query+imageusage}}",
        "apihelp-query+imageusage-example-generator": "{{doc-apihelp-example|query+imageusage}}",
        "apihelp-query+info-description": "{{doc-apihelp-description|query+info}}",
-       "apihelp-query+info-param-prop": "{{doc-apihelp-param|query+info|prop}}",
+       "apihelp-query+info-param-prop": "{{doc-apihelp-param|query+info|prop|paramvalues=1}}",
+       "apihelp-query+info-paramvalue-prop-displaytitle": "{{doc-apihelp-paramvalue|query+info|prop|displaytitle}}",
+       "apihelp-query+info-paramvalue-prop-notificationtimestamp": "{{doc-apihelp-paramvalue|query+info|prop|notificationtimestamp}}",
+       "apihelp-query+info-paramvalue-prop-preload": "{{doc-apihelp-paramvalue|query+info|prop|preload}}",
+       "apihelp-query+info-paramvalue-prop-protection": "{{doc-apihelp-paramvalue|query+info|prop|protection}}",
+       "apihelp-query+info-paramvalue-prop-readable": "{{doc-apihelp-paramvalue|query+info|prop|readable}}",
+       "apihelp-query+info-paramvalue-prop-subjectid": "{{doc-apihelp-paramvalue|query+info|prop|subjectid}}",
+       "apihelp-query+info-paramvalue-prop-talkid": "{{doc-apihelp-paramvalue|query+info|prop|talkid}}",
+       "apihelp-query+info-paramvalue-prop-url": "{{doc-apihelp-paramvalue|query+info|prop|url}}",
+       "apihelp-query+info-paramvalue-prop-watched": "{{doc-apihelp-paramvalue|query+info|prop|watched}}",
+       "apihelp-query+info-paramvalue-prop-watchers": "{{doc-apihelp-paramvalue|query+info|prop|watchers}}",
        "apihelp-query+info-param-token": "{{doc-apihelp-param|query+info|token}}",
        "apihelp-query+info-example-simple": "{{doc-apihelp-example|query+info}}",
        "apihelp-query+info-example-protection": "{{doc-apihelp-example|query+info}}",
        "apihelp-query+stashimageinfo-description": "{{doc-apihelp-description|query+stashimageinfo}}",
        "apihelp-query+stashimageinfo-param-filekey": "{{doc-apihelp-param|query+stashimageinfo|filekey}}",
        "apihelp-query+stashimageinfo-param-sessionkey": "{{doc-apihelp-param|query+stashimageinfo|sessionkey}}",
-       "apihelp-query+stashimageinfo-param-prop": "{{doc-apihelp-param|query+stashimageinfo|prop}}",
        "apihelp-query+stashimageinfo-example-simple": "{{doc-apihelp-example|query+stashimageinfo}}",
        "apihelp-query+stashimageinfo-example-params": "{{doc-apihelp-example|query+stashimageinfo}}",
        "apihelp-query+tags-description": "{{doc-apihelp-description|query+tags}}",
index 32a6765..cf3a4de 100644 (file)
@@ -4,5 +4,8 @@
                        "Milicevic01"
                ]
        },
-       "apihelp-block-param-reason": "Разлог блокирање."
+       "apihelp-block-description": "Блокирај корисника.",
+       "apihelp-block-param-reason": "Разлог за блокирање.",
+       "apihelp-delete-description": "Обриши страницу.",
+       "apihelp-edit-param-minor": "Мања измена."
 }
index 48fe4be..2026b03 100644 (file)
        "apihelp-login-param-domain": "域名(可选)。",
        "apihelp-login-example-gettoken": "检索登录令牌",
        "apihelp-login-example-login": "登录",
+       "apihelp-logout-description": "退出并清除会话数据。",
        "apihelp-logout-example-logout": "退出当前用户",
        "apihelp-move-description": "移动一个页面。",
        "apihelp-move-param-from": "您希望移动的页面标题。不能与$1fromid一起使用。",
        "apihelp-move-param-fromid": "您希望移动的页面ID。不能与$1from一起使用。",
+       "apihelp-move-param-to": "您重命名操作的目标页面标题。",
        "apihelp-move-param-reason": "移动原因。",
        "apihelp-move-param-movetalk": "移动讨论页,如果存在。",
        "apihelp-move-param-movesubpages": "移动子页面,如果可以。",
        "apihelp-move-param-noredirect": "不要创建重定向。",
+       "apihelp-move-param-watch": "将页面和重定向加入至您的监视列表中。",
        "apihelp-move-param-ignorewarnings": "忽略任何警告。",
        "apihelp-opensearch-param-search": "搜索字符串。",
        "apihelp-opensearch-param-limit": "要返回的结果最大数。",
        "apihelp-query+contributors-param-limit": "返回的贡献数。",
        "apihelp-query+contributors-example-simple": "显示[[首页]]的贡献",
        "apihelp-query+deletedrevisions-example-titles": "列出[[首页]]和[[Talk:首页]]的已删除修订,包含内容",
+       "apihelp-query+deletedrevisions-example-revids": "列出已删除修订123456的信息",
        "apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|模式}}:$2",
        "apihelp-query+deletedrevs-param-from": "从此标题开始列出。",
        "apihelp-query+deletedrevs-param-to": "列出至此标题为止。",
        "apihelp-query+linkshere-example-generator": "获取有关链接至[[首页]]的页面的信息",
        "apihelp-query+logevents-description": "从日志获取事件。",
        "apihelp-query+logevents-example-simple": "列出最近日志活动",
+       "apihelp-query+pagepropnames-description": "列出wiki中所有使用中的页面属性名称。",
        "apihelp-query+pagepropnames-example-simple": "获取前10个常用名称",
        "apihelp-query+pageprops-example-simple": "获取用于[[:Category:Foo]]的属性",
        "apihelp-query+pageswithprop-example-simple": "列出前10个使用&#123;&#123;DISPLAYTITLE:&#125;&#125;的页面",
index bb9a903..2a888a5 100644 (file)
@@ -120,7 +120,7 @@ abstract class ImageGalleryBase extends ContextSource {
                                'packed-overlay' => 'PackedOverlayImageGallery',
                        );
                        // Allow extensions to make a new gallery format.
-                       Hooks::run( 'GalleryGetModes', self::$modeMapping );
+                       Hooks::run( 'GalleryGetModes', array( &self::$modeMapping ) );
                }
        }
 
index 8fae026..4bf1268 100644 (file)
@@ -38,7 +38,7 @@
        "config-project-namespace": "Projekti nimeruum:",
        "config-ns-generic": "Projekt",
        "config-admin-box": "Administraatorikonto",
-       "config-admin-name": "Sinu nimi:",
+       "config-admin-name": "Sinu kasutajanimi:",
        "config-admin-password": "Parool:",
        "config-admin-password-confirm": "Parool uuesti:",
        "config-admin-name-blank": "Sisesta administraatori kasutajanimi.",
index 4aeba75..7d5fab7 100644 (file)
@@ -5,7 +5,8 @@
                        "Pizza1016",
                        "SNN95",
                        "MaxSem",
-                       "Aviator"
+                       "Aviator",
+                       "Macofe"
                ]
        },
        "config-desc": "Pemasang MediaWiki",
@@ -88,6 +89,7 @@
        "config-oracle-def-ts": "Ruang jadual lalai:",
        "config-oracle-temp-ts": "Ruang jadual sementara:",
        "config-type-mysql": "MySQL (atau yang serasi)",
+       "config-type-mssql": "Microsoft SQL Server",
        "config-header-mysql": "Keutamaan MySQL",
        "config-header-postgres": "Keutamaan PostgreSQL",
        "config-header-sqlite": "Keutamaan SQLite",
index a4996df..be138f1 100644 (file)
@@ -835,7 +835,7 @@ class Article implements Page {
 
                if ( $showCacheHint ) {
                        $dir = $this->getContext()->getLanguage()->getDir();
-                       $lang = $this->getContext()->getLanguage()->getCode();
+                       $lang = $this->getContext()->getLanguage()->getHtmlCode();
 
                        $outputPage->wrapWikiMsg(
                                "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
index ecb14ed..e3a4ea5 100644 (file)
@@ -90,6 +90,9 @@ class Parser {
        const EXT_IMAGE_REGEX = '/^(http:\/\/|https:\/\/)([^][<>"\\x00-\\x20\\x7F\p{Zs}]+)
                \\/([A-Za-z0-9_.,~%\\-+&;#*?!=()@\\x80-\\xFF]+)\\.((?i)gif|png|jpg|jpeg)$/Sxu';
 
+       # Regular expression for a non-newline space
+       const SPACE_NOT_NL = '(?:\t|&nbsp;|&\#0*160;|&\#[Xx]0*[Aa]0;|\p{Zs})';
+
        # State constants for the definition list colon extraction
        const COLON_STATE_TEXT = 0;
        const COLON_STATE_TAG = 1;
@@ -1389,18 +1392,22 @@ class Parser {
                wfProfileIn( __METHOD__ );
                $prots = wfUrlProtocolsWithoutProtRel();
                $urlChar = self::EXT_LINK_URL_CLASS;
+               $space = self::SPACE_NOT_NL; #  non-newline space
+               $spdash = "(?:-|$space)"; # a dash or a non-newline space
+               $spaces = "$space++"; # possessive match of 1 or more spaces
                $text = preg_replace_callback(
                        '!(?:                           # Start cases
                                (<a[ \t\r\n>].*?</a>) |     # m[1]: Skip link text
                                (<.*?>) |                   # m[2]: Skip stuff inside HTML elements' . "
-                               (\b(?i:$prots)$urlChar+) |  # m[3]: Free external links" . '
-                               \b(?:RFC|PMID)\s+([0-9]+)\b |# m[4]: RFC or PMID, capture number
-                               \bISBN\s+(                  # m[5]: ISBN, capture number
-                                       (?: 97[89] [\ \-]? )?   # optional 13-digit ISBN prefix
-                                       (?: [0-9]  [\ \-]? ){9} # 9 digits with opt. delimiters
+                               (\b(?i:$prots)$urlChar+) |  # m[3]: Free external links
+                               \b(?:RFC|PMID) $spaces      # m[4]: RFC or PMID, capture number
+                                       ([0-9]+)\b |
+                               \bISBN $spaces (            # m[5]: ISBN, capture number
+                                       (?: 97[89] $spdash? )?   # optional 13-digit ISBN prefix
+                                       (?: [0-9]  $spdash? ){9} # 9 digits with opt. delimiters
                                        [0-9Xx]                 # check digit
-                                       )\b
-                       )!xu', array( &$this, 'magicLinkCallback' ), $text );
+                               )\b
+                       )!xu", array( &$this, 'magicLinkCallback' ), $text );
                wfProfileOut( __METHOD__ );
                return $text;
        }
@@ -1441,6 +1448,8 @@ class Parser {
                } elseif ( isset( $m[5] ) && $m[5] !== '' ) {
                        # ISBN
                        $isbn = $m[5];
+                       $space = self::SPACE_NOT_NL; #  non-newline space
+                       $isbn = preg_replace( "/$space/", ' ', $isbn );
                        $num = strtr( $isbn, array(
                                '-' => '',
                                ' ' => '',
index e77ffd7..5692d73 100644 (file)
  * minutes and hundreds of read hits.
  *
  * The PoolCounter provides semaphore semantics for restricting the number
- * of workers that may be concurrently performing such single task.
+ * of workers that may be concurrently performing such single task. Only one
+ * key can be locked by any PoolCounter instance of a process, except for keys
+ * that start with "nowait:". However, only 0 timeouts (non-blocking requests)
+ * can be used with "nowait:" keys.
  *
  * By default PoolCounter_Stub is used, which provides no locking. You
  * can get a useful one in the PoolCounter extension.
@@ -67,6 +70,15 @@ abstract class PoolCounter {
        /** @var float Maximum time in seconds to wait for the lock */
        protected $timeout;
 
+       /**
+        * @var boolean Whether the key is a "might wait" key
+        */
+       private $isMightWaitKey;
+       /**
+        * @var boolean Whether this process holds a "might wait" lock key
+        */
+       private static $acquiredMightWaitKey = 0;
+
        /**
         * @param array $conf
         * @param string $type
@@ -84,6 +96,7 @@ abstract class PoolCounter {
                        $key = $this->hashKeyIntoSlots( $key, $this->slots );
                }
                $this->key = $key;
+               $this->isMightWaitKey = !preg_match( '/^nowait:/', $this->key );
        }
 
        /**
@@ -136,6 +149,48 @@ abstract class PoolCounter {
         */
        abstract public function release();
 
+       /**
+        * Checks that the lock request is sane.
+        * @return Status - good for sane requests fatal for insane
+        * @since 1.25
+        */
+       final protected function precheckAcquire() {
+               if ( $this->isMightWaitKey ) {
+                       if ( self::$acquiredMightWaitKey ) {
+                               /*
+                                * The poolcounter itself is quite happy to allow you to wait
+                                * on another lock while you have a lock you waited on already
+                                * but we think that it is unlikely to be a good idea.  So we
+                                * made it an error.  If you are _really_ _really_ sure it is a
+                                * good idea then feel free to implement an unsafe flag or
+                                * something.
+                                */
+                               return Status::newFatal( 'poolcounter-usage-error',
+                                       'You may only aquire a single non-nowait lock.' );
+                       }
+               } elseif ( $this->timeout !== 0 ) {
+                       return Status::newFatal( 'poolcounter-usage-error',
+                               'Locks starting in nowait: must have 0 timeout.' );
+               }
+               return Status::newGood();
+       }
+
+       /**
+        * Update any lock tracking information when the lock is acquired
+        * @since 1.25
+        */
+       final protected function onAcquire() {
+               self::$acquiredMightWaitKey |= $this->isMightWaitKey;
+       }
+
+       /**
+        * Update any lock tracking information when the lock is released
+        * @since 1.25
+        */
+       final protected function onRelease() {
+               self::$acquiredMightWaitKey &= !$this->isMightWaitKey;
+       }
+
        /**
         * Given a key (any string) and the number of lots, returns a slot number (an integer from the [0..($slots-1)] range).
         * This is used for a global limit on the number of instances  of a given type that can acquire a lock.
index d609f61..0f025f3 100644 (file)
@@ -123,12 +123,22 @@ class PoolCounterRedis extends PoolCounter {
        function acquireForMe() {
                $section = new ProfileSection( __METHOD__ );
 
+               $status = $this->precheckAcquire();
+               if ( !$status->isGood() ) {
+                       return $status;
+               }
+
                return $this->waitForSlotOrNotif( self::AWAKE_ONE );
        }
 
        function acquireForAnyone() {
                $section = new ProfileSection( __METHOD__ );
 
+               $status = $this->precheckAcquire();
+               if ( !$status->isGood() ) {
+                       return $status;
+               }
+
                return $this->waitForSlotOrNotif( self::AWAKE_ALL );
        }
 
@@ -207,6 +217,8 @@ LUA;
                $this->onRelease = null;
                unset( self::$active[$this->session] );
 
+               $this->onRelease();
+
                return Status::newGood( PoolCounter::RELEASED );
        }
 
@@ -266,6 +278,8 @@ LUA;
                        self::$active[$this->session] = $this;
                }
 
+               $this->onAcquire();
+
                return Status::newGood( $slot === 'w' ? PoolCounter::DONE : PoolCounter::LOCKED );
        }
 
index 1a4ec98..c3ac9c7 100644 (file)
@@ -646,8 +646,9 @@ abstract class Skin extends ContextSource {
                        $url = htmlspecialchars( wfExpandIRI( $this->getTitle()->getCanonicalURL() ) );
                }
 
-               return $this->msg( 'retrievedfrom', '<a dir="ltr" href="' . $url
-                       . '">' . $url . '</a>' )->text();
+               return $this->msg( 'retrievedfrom' )
+                       ->rawParams( '<a dir="ltr" href="' . $url. '">' . $url . '</a>' )
+                       ->escaped();
        }
 
        /**
@@ -861,13 +862,13 @@ abstract class Skin extends ContextSource {
                if ( $timestamp ) {
                        $d = $this->getLanguage()->userDate( $timestamp, $this->getUser() );
                        $t = $this->getLanguage()->userTime( $timestamp, $this->getUser() );
-                       $s = ' ' . $this->msg( 'lastmodifiedat', $d, $t )->text();
+                       $s = ' ' . $this->msg( 'lastmodifiedat', $d, $t )->escaped();
                } else {
                        $s = '';
                }
 
                if ( wfGetLB()->getLaggedSlaveMode() ) {
-                       $s .= ' <strong>' . $this->msg( 'laggedslavemode' )->text() . '</strong>';
+                       $s .= ' <strong>' . $this->msg( 'laggedslavemode' )->parse() . '</strong>';
                }
 
                return $s;
index fc26c90..0ebbbc9 100644 (file)
@@ -212,7 +212,7 @@ class FileDuplicateSearchPage extends QueryPage {
                if ( $result->isLocal() ) {
                        $userId = $result->getUser( 'id' );
                        $user = Linker::userLink( $userId, $userText );
-                       $user .= $this->getContext()->msg( 'word-separator' )->plain();
+                       $user .= $this->getContext()->msg( 'word-separator' )->escaped();
                        $user .= '<span style="white-space: nowrap;">';
                        $user .= Linker::userToolLinks( $userId, $userText );
                        $user .= '</span>';
index 9dad5a2..82cd0a1 100644 (file)
@@ -228,7 +228,7 @@ class SpecialNewpages extends IncludableSpecialPage {
                        ),
                        'nsinvert' => array(
                                'type' => 'check',
-                               'name' => 'nsinvert',
+                               'name' => 'invert',
                                'label-message' => 'invert',
                                'default' => $nsinvert,
                                'tooltip' => $this->msg( 'tooltip-invert' )->text(),
index a7dea88..031dbd7 100644 (file)
@@ -1064,7 +1064,7 @@ class SpecialSearch extends SpecialPage {
                $out .= Html::input( 'search', $term, 'search', array(
                        'id' => $this->profile === 'advanced' ? 'powerSearchText' : 'searchText',
                        'size' => '50',
-                       'autofocus',
+                       'autofocus' => trim( $term ) === '',
                        'class' => 'mw-ui-input mw-ui-input-inline',
                ) ) . "\n";
                $out .= Html::hidden( 'fulltext', 'Search' ) . "\n";
index a8a5d75..a9e58b3 100644 (file)
@@ -27,6 +27,7 @@
  *
  * @license GPL 2+
  * @author Daniel Kinzler
+ * @since 1.23
  */
 class MalformedTitleException extends Exception {
 }
index f46cb5e..9ee4841 100644 (file)
@@ -26,6 +26,7 @@
  * A service for generating links from page titles.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 class MediaWikiPageLinkRenderer implements PageLinkRenderer {
        /**
index 6ca0799..0185b97 100644 (file)
@@ -31,6 +31,7 @@
  * via parseTitle() or from a (semi)trusted source, such as the database.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
        /**
index fb1096e..ca91f58 100644 (file)
@@ -29,6 +29,7 @@
  * URLs, and how links are encoded in a given output format.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 interface PageLinkRenderer {
        /**
index 7c71ef5..aad8376 100644 (file)
@@ -29,6 +29,7 @@
  * forms to be used in the database, in urls, in wikitext, etc.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 interface TitleFormatter {
        /**
index 0635ee8..381b1d0 100644 (file)
@@ -29,6 +29,7 @@
  * forms to be used in the database, in urls, in wikitext, etc.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 interface TitleParser {
        /**
index 402247c..5cac347 100644 (file)
@@ -32,6 +32,7 @@
  * It does not represent a link, and does not support interwiki prefixes etc.
  *
  * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ * @since 1.23
  */
 class TitleValue {
        /**
index 6149a23..0d0907b 100644 (file)
@@ -50,24 +50,13 @@ class AutoloadGenerator {
                if ( !is_array( $flags ) ) {
                        $flags = array( $flags );
                }
-               $this->basepath = self::platformAgnosticRealpath( $basepath );
+               $this->basepath = self::normalizePathSeparator( realpath( $basepath ) );
                $this->collector = new ClassCollector;
                if ( in_array( 'local', $flags ) ) {
                        $this->variableName = 'wgAutoloadLocalClasses';
                }
        }
 
-       /**
-        * Wrapper for realpath() that returns the same results (using forward
-        * slashes) on both Windows and *nix.
-        *
-        * @param string $path Parameter to realpath()
-        * @return string
-        */
-       protected static function platformAgnosticRealpath( $path ) {
-               return str_replace( '\\', '/', realpath( $path ) );
-       }
-
        /**
         * Force a class to be autoloaded from a specific path, regardless of where
         * or if it was detected.
@@ -76,7 +65,7 @@ class AutoloadGenerator {
         * @param string $inputPath Full path to the file containing the class
         */
        public function forceClassPath( $fqcn, $inputPath ) {
-               $path = self::platformAgnosticRealpath( $inputPath );
+               $path = self::normalizePathSeparator( realpath( $inputPath ) );
                if ( !$path ) {
                        throw new \Exception( "Invalid path: $inputPath" );
                }
@@ -92,7 +81,10 @@ class AutoloadGenerator {
         * @param string $inputPath Path to a php file to find classes within
         */
        public function readFile( $inputPath ) {
-               $inputPath = self::platformAgnosticRealpath( $inputPath );
+               // NOTE: do NOT expand $inputPath using realpath(). It is perfectly
+               // reasonable for LocalSettings.php and similiar files to be symlinks
+               // to files that are outside of $this->basepath.
+               $inputPath = self::normalizePathSeparator( $inputPath );
                $len = strlen( $this->basepath );
                if ( substr( $inputPath, 0, $len ) !== $this->basepath ) {
                        throw new \Exception( "Path is not within basepath: $inputPath" );
@@ -112,7 +104,7 @@ class AutoloadGenerator {
         */
        public function readDir( $dir ) {
                $it = new RecursiveDirectoryIterator(
-                       self::platformAgnosticRealpath( $dir ) );
+                       self::normalizePathSeparator( realpath( $dir ) ) );
                $it = new RecursiveIteratorIterator( $it );
 
                foreach ( $it as $path => $file ) {
@@ -183,6 +175,16 @@ global \${$this->variableName};
 EOD
                );
        }
+
+       /**
+        * Ensure that Unix-style path separators ("/") are used in the path.
+        *
+        * @param string $path
+        * @return string
+        */
+       protected static function normalizePathSeparator( $path ) {
+               return str_replace( '\\', '/', $path );
+       }
 }
 
 /**
index 5025c36..2ec13d6 100644 (file)
@@ -29,8 +29,8 @@
        "tog-watchmoves": "Ēacnian mīn behealdungtæl mid trametum and ymelum þā ic wege.",
        "tog-watchdeletion": "Ēacnian mīn behealdungæl mid trametum and ymelum þā ic forlēose.",
        "tog-minordefault": "Mearcian ealla adihtunga lytela tō gewunan",
-       "tog-previewontop": "Īwan fōrebysene ofer adihtunge mearce",
-       "tog-previewonfirst": "Īwan fōrebysene on forman adihtunge",
+       "tog-previewontop": "Īwan forebysene ofer adihtunge mearce",
+       "tog-previewonfirst": "Īwan forebysene on forman adihtunge",
        "tog-enotifwatchlistpages": "Sendan mē spearcǣrend þǣr tramet oþþe ymele on mīnum behealdungtæle sīe andwended.",
        "tog-enotifusertalkpages": "Sendan mē spearcǣrend þǣr mīnes brūcendtrametes mōtung sī andwended",
        "tog-enotifminoredits": "Sendan mē spearcǣrend þǣr trametas oþþe ymelan sīen efne lyt andwended.",
@@ -38,7 +38,7 @@
        "tog-shownumberswatching": "Īwan þæt rīm behealdendra brūcenda",
        "tog-oldsig": "Genge selfmearc:",
        "tog-fancysig": "Dōn selfmearce tō wikitexte (lēas ǣr gedōnes hlencan)",
-       "tog-uselivepreview": "Notian rihte īwde fōrebysene (on costnunge)",
+       "tog-uselivepreview": "Notian rihte īwedre forebysene",
        "tog-forceeditsummary": "Cȳðan mē þǣr ic ne wrīte adihtunge sceortnesse",
        "tog-watchlisthideown": "Hȳdan mīna adihtunga wiþ þæt behealdungtæl",
        "tog-watchlisthidebots": "Hȳdan searuþrǣla adihtunga wiþ þæt behealdungtæl",
        "create-this-page": "Scieppan þisne tramet",
        "delete": "Forlēosan",
        "deletethispage": "Forlēosan þisne tramet",
+       "undeletethispage": "Undōn þā forlēosunge þisses trametes",
        "undelete_short": "Scieppan {{PLURAL:$1|āne adihtunge|$1 adihtunga}} eft",
        "viewdeleted_short": "Sēon {{PLURAL:$1|āne forlorene adihtunge|$1 forlorenra adihtunga}}",
        "protect": "Beorgan",
        "otherlanguages": "On ōðrum sprǣcum",
        "redirectedfrom": "(Edlǣded fram $1)",
        "redirectpagesub": "Edlǣdunge tramet",
+       "redirectto": "Edlǣdan tō:",
        "lastmodifiedat": "Man nīwanost wende þisne tramet on þǣre $2 tīde þæs $1.",
        "viewcount": "Þes tramet wæs gesawen {{PLURAL:$1|āne|$1 mǣla}}.",
        "protectedpage": "Geborgen tramet",
        "youhavenewmessagesfromusers": "Þū hafast $1 fram {{PLURAL:$3|ōðrum brūcende|$3 brūcenda}} ($2).",
        "youhavenewmessagesmanyusers": "Þū hafast $1 fram manigum brūcendum ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|nīwe ǣrendgewrit|999=nīwra ǣrendgewrita}}",
+       "newmessagesdifflinkplural": "{{PLURAL:$1|nīwost andwendung|999=nīwostra andwendunga}}",
        "youhavenewmessagesmulti": "Þū hæfst nīwu ǣrendu on $1",
        "editsection": "adihtan",
        "editold": "adihtan",
        "toc": "Innung",
        "showtoc": "īwan",
        "hidetoc": "hȳdan",
+       "collapsible-collapse": "Lytlian",
+       "collapsible-expand": "Brǣdan",
+       "confirmable-confirm": "Ƿilt þū þis ƿitodlīce dōn?",
+       "confirmable-yes": "Gēa",
+       "confirmable-no": "Nese",
        "thisisdeleted": "Sēon oþþe nīwian $1?",
        "viewdeleted": "Sēon $1 lā?",
        "restorelink": "{{PLURAL:$1|ān forloren ādihtung|$1 forlorenra adihtunga}}",
        "nospecialpagetext": "<strong>Þū hafast abiden ungenges syndriges trametes.</strong>\n\nGetæl gengra syndrigra trameta cann man findan be [[Special:SpecialPages|þǣm syndrigra trameta getæle]].",
        "error": "Wōh",
        "databaseerror": "Cȳþþuhordes wōh",
+       "databaseerror-error": "Wōg: $1",
        "laggedslavemode": "'''Warnung:''' Wēnunga næbbe se tramet nīwlīca nīwunga.",
        "enterlockreason": "Wrīt race þǣre forwiernunge and apinsunge þæs tīman on þǣm bēo sēo forwiernung forlǣten",
        "missingarticle-rev": "(nīwung#: $1)",
        "internalerror": "Inweard wōh",
        "internalerror_info": "Inweard wōh: $1",
+       "filecopyerror": "Nē cūðe biwrītan þā ymelan \"$1\" tō \"$2\".",
        "filerenameerror": "Ne cūðe ednemnan ymelan \"$1\" tō \"$2\".",
+       "filedeleteerror": "Ne cūðe forlēosan þā ymelan \"$1\".",
        "filenotfound": "Ne cūðe findan ymelan \"$1\".",
        "formerror": "Wōh: ne cūðe cȳþþugewrit forþsendan.",
        "badarticleerror": "Þēos dǣd ne cann bēon gefremed on þissum tramete.",
+       "cannotdelete-title": "Ne cann forlēosan þone tramet \"$1\"",
        "badtitle": "Nā genge titul",
+       "querypage-no-updates": "Ednīwunga for þissum tramete ne sindon nū gelīfeda. \nCȳþþu hēr ne biþ hraðe ednīwod.",
        "viewsource": "Sēon fruman",
        "viewsource-title": "Fruman for $1 sēon",
+       "protectedpagetext": "Þes tramet wæs geborgen tō wyrnenne ōðerre adihtunge oþþe ōðra dǣda.",
+       "viewsourcetext": "Þū canst sēon and biwrītan þone fruman þisses trametes:",
+       "viewyourtext": "Þū canst sēon and biwrītan þone fruman <strong>þīnra adihtunga</strong> tō þissum tramete:",
        "cascadeprotected": "Þes trament wæs geborgen wiþ adihtunge, for þǣm þe hē is befangen in þissum {{PLURAL:$1|tramente, þe is| tramentum, þe sind}} geborgen settum wyrcende þǣm cyre \"cascading\": $2",
+       "namespaceprotected": "Þū nafast lēafe tō adihtenne trametas in þǣm <strong>$1</strong> namstede.",
+       "customcssprotected": "Þū nafast lēafe tō adihtenne þisne CSS tramet for þȳ hē behealdeþ ōðres brūcendes āgna gesetednessa.",
+       "customjsprotected": "Þū nafast lēafe tō adihtenne þisne JavaScript tramet for þām hē behealdeþ ōðres hādes āgna gesetednessa.",
+       "mycustomcssprotected": "Þū nafast lēafe tō adihtenne þisne CSS tramet.",
+       "mycustomjsprotected": "Þū nafast lēafe tō adihtenne þisne JavaScript tramet.",
+       "myprivateinfoprotected": "Þū nafast lēafe tō adihtenne þīne āgnan cȳþþu.",
+       "mypreferencesprotected": "Þū nafast lēafe tō adihtenne þīna foreberunga.",
+       "ns-specialprotected": "Syndrige trametas ne cunnon wesan adihted.",
        "exception-nologin": "Ne inloggod",
        "virus-badscanner": "Yfel gesetedness: Uncūþ wyrmsēcend: <em>$1</em>",
        "virus-unknownscanner": "uncūþ andgund:",
        "minoredit": "Þēos is lytel adihtung",
        "watchthis": "Behealdan þisne tramet",
        "savearticle": "Hordian tramet",
-       "preview": "Fōrebysen",
-       "showpreview": "Īwan fōrebysene",
+       "preview": "Forebysen",
+       "showpreview": "Īwan forebysene",
        "showdiff": "Īwan andwendunga",
-       "summary-preview": "Scortnesse fōrebysen:",
+       "summary-preview": "Scortnesse forebysen:",
        "blockednoreason": "nān racu gifen",
        "whitelistedittext": "Þū scealt $1 to adihtenne trametas.",
        "nosuchsectiontitle": "Ne cann dǣl findan",
        "newarticle": "(Nīwe)",
        "newarticletext": "Þū hæfst hlencan tō tramete þe nū gīet ne stent gefolgod.\nTō scieppene þone tramet, onginn tō wrītenne in þǣre mearce þe is beneoþan (seoh þone [$1 helpes tramet] ymb mā cȳþþu).\nGif þū hider be misfēnge cōme, cnoca þīnes webbsēcendes '''on bæc''' cnæpp.",
        "usercssyoucanpreview": "'''Rǣd:''' Brūc þone \"{{int:Forescēaƿian}}\" cnæpp tō costnienne þīne nīwan css/js wrītunge ǣr hit sīe hordod.",
-       "userjsyoucanpreview": "'''Rǣd:''' Brūc þone 'Īwan fōrebysene' cnæpp tō costienne þīnre nīwan JavaScrip fadunge ǣr þū hordie.",
+       "userjsyoucanpreview": "'''Rǣd:''' Brūc þone \"{{int:showpreview}}\" cnæpp tō costienne þīnre nīwan JavaScrip fadunge ǣr þū hordie.",
        "updated": "(Ednīwed)",
        "note": "'''Gewritincel:'''",
-       "previewnote": "'''Beþenc þe þis is gīet efne fōrebysen.'''\nÞīna andwendunga gīet ne sind hordoda!",
+       "previewnote": "<strong>Beþenc þe þis is gīet efne forebysen.</strong>\nÞīna andwendunga gīet ne sind hordoda!",
        "editing": "Adihtende $1",
        "editingsection": "Adihtende $1 (dǣl)",
        "editingcomment": "Adihtende $1 (nīwe dǣl)",
        "yourdiff": "Fǣgnessa",
        "copyrightwarning2": "Bidde behielde þæt man mæg ealla forðunga tō {{SITENAME}}\nādihtan, hweorfan, oþþe forniman.\nGif þū ne wille man þīn gewrit ādihtan unmildheorte, þonne hīe hēr ne forþsendan.<br />\nÞū behǣtst ēac þæt þū selfa þis write, oþþe efenlǣhtest of sumre\nfolclicum āgnunge oþþe gelīcum frēom horde (sēo $1 for āscungum).\n'''Ne forþsend efenlǣhtscielded weorc būtan þafunge!'''",
        "templatesused": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þissum tramete:",
-       "templatesusedpreview": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þisre fōrebysene:",
+       "templatesusedpreview": "{{PLURAL:$1|Þēos bysen is|Þās bysena sind}} gebrocen on þisre forebysene:",
        "template-protected": "(geborgen)",
        "template-semiprotected": "(sāmborgen)",
        "hiddencategories": "Þes tramet is gesibb {{PLURAL:$1|1 gehȳdedum flocce|$1 gehȳdedra flocca}}:",
        "powersearch-legend": "Manigfeald sēcung",
        "powersearch-ns": "Sēcan in namstedum:",
        "search-external": "Ūtanweard sōcn",
-       "preferences": "Fōreberunga",
-       "mypreferences": "Mīna fōreberunga",
+       "preferences": "Foreberunga",
+       "mypreferences": "Foreberunga",
        "prefs-skin": "Scynn",
-       "skin-preview": "Fōrebysen",
+       "skin-preview": "Forebysen",
        "prefs-rc": "Nīwa andwendunga",
        "prefs-watchlist": "Wæccgetæl",
        "saveprefs": "Hordian",
        "columns": "Sȳla:",
        "searchresultshead": "Sōcn",
        "recentchangescount": "Hū mæniga adihtunga to īwenne gewunelīce:",
-       "savedprefs": "Þīna fōreberunga wurdon gehordod.",
+       "savedprefs": "Þīna foreberunga wurdon gehordod.",
        "timezonelegend": "Tīdgeard",
        "servertime": "Þegntōles tīd is nū:",
        "default": "gewunelic",
        "license": "Lēaf:",
        "license-header": "Lēaf:",
        "nolicense": "Nān is gecoren",
-       "license-nopreview": "(Fōrebysen nis gearu)",
+       "license-nopreview": "(Forebysen nis gearu)",
        "listfiles-summary": "Þes syndriga tramet īweþ ealla forþ gehladena ymelan.",
        "listfiles_search_for": "Sēcan missenendebyrdnesse naman:",
        "imgfile": "ymele",
        "deletepage": "Forlēosan tramet",
        "excontent": "innung wæs: \"$1\"",
        "excontentauthor": "innung wæs: '$1' (and se āna forðiend wæs \"[[Special:Contributions/$2|$2]]\")",
-       "historywarning": "'''Warnung''': Se tramet þe þū wilt forlēosan hafaþ stǣr mid nēan $1 {{PLURAL:$1|fadunge|fadunga}}:",
+       "historywarning": "<strong>Warnung:</strong> Se tramet þe þū wilt forlēosan hafaþ stǣr mid $1 {{PLURAL:$1|fadunge|fadunga}}:",
        "actioncomplete": "Dǣd  is fulfyled",
        "dellogpage": "Forlēosunge ealdhord",
        "deletionlog": "forlēosunge ealdhord",
        "whatlinkshere-hidetrans": "$1 bysene nytta",
        "whatlinkshere-hidelinks": "$1 hlencan",
        "whatlinkshere-filters": "Sifan",
-       "blockip": "Fortȳnan brūcend",
+       "blockip": "Fortȳnan {{GENDER:$1|brūcend|brūcicgan}}",
        "ipbreason": "Racu:",
        "ipbreason-dropdown": "*Gemǣna fortȳnungraca\n** Insettung falsre cȳþþe\n** Animung innunge of trametum\n** Spammlice hlencab tō ūtweardum webbstedum\n** Insettung gedofes oþþe dwolunge in trametas\n** Hwōpende gebǣru oþþe tirgung\n** Miswendung manigra reccinga\n** Uncwēme brūcendnama",
        "ipbsubmit": "Fortȳnan þisne brūcend",
        "import-noarticle": "Nān tramet tō inbringenne!",
        "tooltip-pt-userpage": "Þīn brūcendtramet",
        "tooltip-pt-mytalk": "Þīn mōtung",
-       "tooltip-pt-preferences": "Þīna fōreberunga",
+       "tooltip-pt-preferences": "Þīna foreberunga",
        "tooltip-pt-watchlist": "Getæl trameta þā behieltst þū ymbe andwendunga",
        "tooltip-pt-mycontris": "Getæl þīnra forðunga",
        "tooltip-pt-login": "Man þē byldeþ to inmeldienne; þēah, þis nis abeden",
index 3a9a46d..cdce819 100644 (file)
@@ -37,7 +37,7 @@
        "tog-shownumberswatching": "顯示監視用戶其數量",
        "tog-oldsig": "存在其簽名",
        "tog-fancysig": "共簽名當成維基文本(無自動鏈接)",
-       "tog-uselivepreview": "使即時預覽(敆𡅏實驗)",
+       "tog-uselivepreview": "使即時預覽",
        "tog-forceeditsummary": "提醒我行遘蜀萆空白其編輯總結",
        "tog-watchlisthideown": "趁監視單𡅏囥起我其修改",
        "tog-watchlisthidebots": "囥起監視單其機器人其修改",
        "laggedslavemode": "'''警告:'''頁面可能無最近其更新。",
        "readonly": "數據庫乞鎖起咯",
        "enterlockreason": "拍底汝鎖定數據庫其原因,包括汝估計其釋放鎖其時間",
-       "readonlytext": "Só-gé̤ṳ-kó cī-buàng ké̤ṳk nè̤ng sō̤ kī lāu, mâ̤-sāi siā sĭng dèu-mĕ̤k hĕ̤k có̤ siŭ-gāi, ô kō̤-nèng sê ôi-lāu nĭk-siòng mì-hô, cĭ-hâiu cêu â̤ ciáng-siòng.\n\nSō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1",
+       "readonlytext": "數據庫茲滿乞儂鎖定了,𣍐使寫新條目或者做修改。有可能是日常維護,之後就會正常。\n\n\n鎖起數據庫其管理員總款解釋:$1",
        "missing-article": "數據庫未討遘本身應當著討遘其名叫\"$1\"其頁面$2其文本。\n\n嚽可能是下底其過時其diff或者已經删除其歴史鏈接造成其。\n\n如果伓是茲兩種情況,汝可能發現著蜀萆服務器其缺陷。\n起動汝共茲蜀萆缺陷匯報乞[[Special:ListUsers/sysop|管理員]],附上網址。",
        "missingarticle-rev": "(版本#:$1)",
        "missingarticle-diff": "(比並:$1、$2)",
        "yourpasswordagain": "重新拍囇密碼:",
        "createacct-yourpasswordagain": "確定密碼",
        "createacct-yourpasswordagain-ph": "再輸入蜀回密碼",
-       "remembermypassword": "共我敆茲蜀萆瀏覽器其躒底記錄記定幾日(最価$1日){{PLURAL:$1}}",
-       "userlogin-remembermypassword": "保持我躒底其",
+       "remembermypassword": "共我敆茲蜀萆瀏覽器其登錄記錄記定幾日(最価$1日){{PLURAL:$1}}",
+       "userlogin-remembermypassword": "保持我登錄其",
        "userlogin-signwithsecure": "使安全其連接",
        "yourdomainname": "汝其域名:",
        "password-change-forbidden": "汝𣍐使敆茲蜀萆維基百科𡅏修改密碼。",
        "createacct-benefit-body3": "最近其{{PLURAL:$1|貢獻者}}",
        "badretype": "汝輸底其密碼𣍐蜀様。",
        "userexists": "用戶名已經乞別人使去了。\n起動另外再起蜀萆名字。",
-       "loginerror": "躒底有鄭",
+       "loginerror": "登錄有鄭",
        "createacct-error": "賬戶開出毛病咯",
        "createaccounterror": "無能獃開賬戶:$1",
        "nocookiesnew": "用戶賬號已經創建好了,但是汝未登錄。\n{{SITENAME}}使cookie來記錄已經登錄其用戶。\n但是汝禁用了cookie。\n起動汝開啟cookie,然後再使汝其新用戶共密碼來登錄。",
        "nocookieslogin": "{{SITENAME}}使cookies來記錄已經登錄其用戶。\n但是汝禁用了cookie。\n起動汝開起cookie,然後再試蜀試。",
        "noname": "汝未指定蜀萆合法其用戶名。",
-       "loginsuccesstitle": "躒底成功",
-       "loginsuccess": "'''汝現在已經「$1」其成功躒底{{SITENAME}}了。'''",
+       "loginsuccesstitle": "登錄成功",
+       "loginsuccess": "'''汝現在已經「$1」其成功登錄{{SITENAME}}了。'''",
        "nosuchuser": "無總款其用戶名「$1」。\n用户名是大小写敏感其。\n检查汝其拼写,或者覷蜀覷[[Special:UserLogin/signup|開新賬戶]]。",
        "nosuchusershort": "無總款其用戶名「$1」。\n檢查汝其拼寫。",
        "nouserspecified": "汝著指定蜀萆用戶名。",
-       "login-userblocked": "茲隻用戶已經乞封鎖去了。躒底是𣍐允許其。",
+       "login-userblocked": "茲隻用戶已經乞封鎖去了。登錄是𣍐允許其。",
        "wrongpassword": "密碼鄭咯。\n起動再查蜀下。",
        "wrongpasswordempty": "未輸入密碼。\n請再查蜀下。",
        "passwordtooshort": "密碼著設最少{{PLURAL:$1|$1萆字符}}。",
        "password-login-forbidden": "茲蜀萆用戶名共密碼應經乞禁止去了。",
        "mailmypassword": "重新設置密碼",
        "passwordremindertitle": "{{SITENAME}}其新其臨時密碼",
-       "passwordsent": "新密碼已經寄遘「$1」註冊其電子郵件地址了。\n收遘後,請再躒底蜀頭部。",
+       "passwordsent": "新密碼已經寄遘「$1」註冊其電子郵件地址了。\n收遘後,請再登錄蜀頭部。",
        "mailerror": "發電子郵件有賺:$1",
        "acct_creation_throttle_hit": "使汝其IP訪問茲蜀萆維基百科訪問者其已經敆最後蜀日創建{{PLURAL:$1|$1萆賬戶}}去了。茲蜀段時間最価若允許創建茲滿価萆賬戶。故此講使茲蜀萆IP訪問其儂敆現刻時𣍐使再開賬戶了。",
        "emailauthenticated": "汝其電子郵件地址已經敆$2$3確定過了。",
        "accountcreated": "賬戶創建了",
        "accountcreatedtext": "[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|talk]])用戶已經創建。",
        "createaccount-title": "{{SITENAME}}其開賬戶",
-       "login-abort-generic": "汝其躒底𣍐成功——放棄去了",
+       "login-abort-generic": "汝其登錄𣍐成功——放棄去了",
        "loginlanguagelabel": "語言:$1",
        "pt-login": "登錄",
        "pt-login-button": "登錄",
        "oldpassword": "舊密碼:",
        "newpassword": "新密碼:",
        "retypenew": "確認密碼:",
-       "resetpass_submit": "設置密碼再躒底",
+       "resetpass_submit": "設置密碼再登錄",
        "resetpass_forbidden": "密碼改𣍐來",
-       "resetpass-no-info": "汝著躒底乍會使直接看茲蜀頁。",
+       "resetpass-no-info": "汝著登錄乍會使直接看茲蜀頁。",
        "resetpass-submit-loggedin": "修改密碼",
        "resetpass-submit-cancel": "取消",
        "resetpass-temp-password": "臨時密碼:",
        "blockedtitle": "用戶乞封鎖了",
        "blockednoreason": "無掏出原因",
        "whitelistedittext": "汝必須$1乍會使修改頁面。",
-       "loginreqtitle": "需要躒底",
-       "loginreqlink": "躒底",
-       "loginreqpagetext": "è\91\97$1æ\89\8dæ\9c\83使看其它頁面。",
+       "loginreqtitle": "需要登錄",
+       "loginreqlink": "登錄",
+       "loginreqpagetext": "èµ·å\8b\95æ±\9d$1以å¾\8cå\86\8d看其它頁面。",
        "accmailtitle": "密碼寄出了",
        "accmailtext": "共[[User talk:$1|$1]]用戶隨機生成其密碼已經發遘$2了。汝登錄以後會使敆[[Special:ChangePassword|修改密碼]]頁面修改茲蜀萆密碼。",
        "newarticle": "(新)",
        "newarticletext": "汝已經跟鏈接跟遘無存在其頁面了。\n卜想創建頁面,敆下底其框框𡅏拍字(覷蜀覷[$1 幫助頁面]有無更更価其幫助)。\n如果汝是無注意來遘茲蜀萆頁面,篤囇汝其瀏覽器上其「返回」按鈕。",
-       "anontalkpagetext": "''茲是未躒底其用戶討論頁面。''\n故此儂家著使數字IP來確定伊。\n總款其IP地址會乞雅価用戶共享。\n如果蜀隻未躒底其用戶見覺無關係其評論指向汝,起動[[Special:UserLogin/signup|開賬戶]]或者[[Special:UserLogin|躒底]]來避免以後共其它未躒底其用戶混蜀堆。",
+       "anontalkpagetext": "<em>茲是未登錄其用戶討論頁面。</em>\n故此儂家著使數字IP來確定伊。\n總款其IP地址會乞雅価用戶共享。\n如果蜀隻未登錄其用戶見覺無關係其評論指向汝,起動[[Special:UserLogin/signup|開賬戶]]或者[[Special:UserLogin|登錄]]來避免以後共其它未登錄其用戶混蜀堆。",
        "noarticletext": "現在敆茲蜀頁𡅏無文字。汝會使敆其它其頁面𡅏[[Special:Search/{{PAGENAME}}|討蜀討茲蜀萆標題]],<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 討相關其記錄],或者[{{fullurl:{{FULLPAGENAME}}|action=edit}}編輯茲蜀頁]</span>。",
        "clearyourcache": "'''注意:'''保存以後,汝可能固著刷新汝其瀏覽器緩存來看遘變化。\n* '''火狐/Safari:'''擪下''Shift''篤蜀篤''重新載入'',或者擪蜀擪''Ctrl+F5''或者''Ctrl+R'' (''⌘-R''敆Mac懸頂)\n* '''Google Chrome:'''擪''Ctrl+Shift+R''(敆Mac𡅏使''⌘-Shift-R'')\n* '''Internet Explorer:'''擪''Ctrl''其時候篤蜀篤''刷新'',或者擪''Ctrl+F5''\n* '''Opera:'''敆''工具→首選項''𡅏清除緩存",
        "note": "<strong>注意:</strong>",
        "histlegend": "差別揀選:選擇卜比並其版本,再擪「回車」('''Enter''')或者擪底底其'''比並揀選版本'''。<br />\n說明:(伶)=共第一新其版本比並,(前)=共前蜀版本比並,~=過幼修改。",
        "history-fieldset-title": "瀏覽歷史",
        "history-show-deleted": "囇刪掉去",
-       "histfirst": "最",
+       "histfirst": "最",
        "histlast": "最遲",
        "historysize": "({{PLURAL:$1|$1字節}})",
        "history-feed-title": "修改歷史",
        "upload": "上傳文件",
        "uploadbtn": "上傳文件",
        "reuploaddesc": "取消上傳,轉去上傳頁面",
-       "uploadnologin": "未躒底",
+       "uploadnologin": "未登錄",
        "uploadnologintext": "汝著$1才會使上傳文件。",
        "uploaderror": "上傳有鄭",
        "uploadlogpage": "上傳日誌",
        "watchlist": "我其監視單",
        "mywatchlist": "我其監視單",
        "nowatchlist": "汝其監視單𡅏無項目。",
-       "watchnologin": "未躒底",
+       "watchnologin": "未登錄",
        "addedwatchtext": "頁面「[[:$1]]」已經加遘汝其[[Special:Watchlist|監視單]]。以後敆茲蜀頁其改變共伊關聯其討論頁都會列敆嚽塊。",
        "removewatch": "趁汝其監視單臺中移去",
        "removedwatchtext": "頁面「[[:$1]]」已經趁[[Special:Watchlist|汝其監視單]]移去了。",
        "movepagetext": "使下底其表單來重新共茲蜀頁起蜀萆名字,移動伊所有其歷史遘伊其新名字。\n舊其標題會變成新其標題其重定向頁。\n汝會使自動更新重定向許蜀點遘原底其標題。\n如果伊結果伓是總款咯,許汝著檢查[[Special:DoubleRedirects|雙重重定向]]或者[[Special:BrokenRedirects|獃其重定向]]。\n汝著為鏈接會使繼續鏈遘伊應該跳轉其地方負責任。\n\n注意如果許塊已經有蜀頁去了,噲頁面就'''𣍐'''移過了,除開許囇是蜀萆重定向固加無舊底其修改歷史。\n茲其意思就是講如果汝名字起賺了,汝會使共茲蜀萆頁面重新起伊原底其名字,但是𣍐使覆蓋已經存在其頁面。\n\n'''警告!'''\n茲可能會對一般頁面造成過大其固加無辦法預見遘其改變;\n起動汝著敆做之前會意總款做其後果。",
        "movepagetalktext": "相關其討論頁會自動共伊移遘'''無挃''':\n* 汝其新其用戶名已經有蜀頁有內容其討論頁,或者\n* 汝取消下底其框框。\n\n若總款,汝會使自家移動或者是合併頁面。",
        "movearticle": "移動頁面",
-       "movenologintext": "著[[Special:UserLogin|躒底]]才會使移動頁面。",
+       "movenologintext": "著[[Special:UserLogin|登錄]]才會使移動頁面。",
        "newtitle": "遘新題目:",
        "move-watch": "監視茲頁",
        "movepagebtn": "移動頁面",
        "tooltip-pt-preferences": "汝其設定",
        "tooltip-pt-watchlist": "汝監視其頁面有改過其單單",
        "tooltip-pt-mycontris": "汝其貢獻其單單",
-       "tooltip-pt-login": "希望汝躒底其;當然,無逼汝總款做。",
-       "tooltip-pt-logout": "出",
+       "tooltip-pt-login": "希望汝登錄其;當然,無逼汝總款做。",
+       "tooltip-pt-logout": "退出",
        "tooltip-ca-talk": "茲蜀頁其討論",
        "tooltip-ca-edit": "汝會使修改茲蜀頁。起動敆保存以前使預覽按鈕",
        "tooltip-ca-addsection": "開始蜀萆新其部分",
        "confirmemail_needlogin": "汝著$1來確定汝其電子郵件地址。",
        "confirmemail_loggedin": "汝其電子郵件地址現在已經確定去了。",
        "confirmemail_body": "有人(可能是汝)敆IP地址$1𡅏已經使茲蜀萆電子郵件地址來註冊蜀萆賬戶「$2」去了。\n\n卜想確認茲蜀萆賬戶當真是汝其,固加敆{{SITENAME}}激活電子郵件特點,許敆汝其瀏覽器𡅏拍開茲蜀萆鏈接:\n\n$3\n\n如果汝*無*註冊茲賬戶,單擊茲蜀萆鏈接來取消電子郵件確認:\n\n$5\n\n茲蜀萆確認代碼會敆$4時候過期。",
-       "deletedwhileediting": "'''警告:'''茲蜀頁敆汝編輯以前已經乞刪唻了!",
+       "deletedwhileediting": "<strong>警告:</strong>茲蜀頁敆汝編輯以前已經乞刪唻了!",
        "recreate": "重新開",
        "confirm_purge_button": "好",
        "imgmultipageprev": "← 前蜀頁",
index c2631b1..ec574b8 100644 (file)
        "content-model-text": "čistý text",
        "content-model-javascript": "JavaScript",
        "content-model-css": "CSS",
+       "content-json-empty-object": "Prázdný objekt",
+       "content-json-empty-array": "Prázdné pole",
        "duplicate-args-category": "Stránky s duplicitními argumenty ve voláních šablon",
        "duplicate-args-category-desc": "Stránka obsahuje volání šablony, které používá duplicitní argumenty, např. <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> nebo <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "'''Varování:''' Tato stránka obsahuje příliš mnoho volání výkonnostně náročných funkcí syntaktického analyzátoru.\n\nPovolený limit je $2, v současné chvíli však {{PLURAL:$1|zde jedno volání je|zde jsou $1 volání|zde je $1 volání}}.",
index ec6594d..679baf6 100644 (file)
@@ -74,7 +74,7 @@
        "tog-shownumberswatching": "Vis antal brugere, der overvåger",
        "tog-oldsig": "Nuværende signatur:",
        "tog-fancysig": "Behandl signatur som wikitekst uden automatisk henvisning",
-       "tog-uselivepreview": "Brug automatisk forhåndsvisning (er på forsøgsstadiet)",
+       "tog-uselivepreview": "Benyt løbende forhåndsvisning",
        "tog-forceeditsummary": "Advar mig hvis jeg ikke udfylder beskrivelsesfeltet",
        "tog-watchlisthideown": "Skjul egne ændringer i overvågningslisten",
        "tog-watchlisthidebots": "Skjul ændringer fra bots i overvågningslisten",
        "otherlanguages": "Andre sprog",
        "redirectedfrom": "(Omdirigeret fra $1)",
        "redirectpagesub": "Omdirigeringsside",
+       "redirectto": "Omdiriger til:",
        "lastmodifiedat": "Denne side blev senest ændret $1 kl. $2.",
        "viewcount": "Siden er vist {{PLURAL:$1|en gang|$1 gange}}.",
        "protectedpage": "Beskyttet side",
        "querypage-disabled": "Denne specialside er deaktiveret af hensyn til ydeevnen.",
        "booksources": "Bogkilder",
        "booksources-search-legend": "Søgning efter bøger",
+       "booksources-search": "Søg",
        "booksources-text": "Dette er en liste med henvisninger til Internetsider, som sælger nye og brugte bøger. Der kan der også findes yderligere informationer om bøgerne. {{SITENAME}} er ikke forbundet med nogen af dem.",
        "booksources-invalid-isbn": "Det angivne ISBN-nummer ser forkert ud. Tjek med kilden om det er skrevet korrekt.",
        "specialloguserlabel": "Udført af:",
        "trackingcategories-desc": "Optagelseskriterier for kategori",
        "noindex-category-desc": "Siden indekseres ikke af robotter, fordi den indeholder det magiske ord <code><nowiki>__NOINDEX__</nowiki></code> og er i et navnerum, hvor dette flag er tilladt.",
        "index-category-desc": "Siden indeholder <code><nowiki>__INDEX__</nowiki></code> (og er i et navnerum, hvor dette flag er tilladt), og bliver derfor indekseret af robotter, hvor den normalt ikke ville blive det.",
+       "trackingcategories-nodesc": "Ingen beskrivelse tilgængelig.",
+       "trackingcategories-disabled": "Kategorien er deaktiveret",
        "mailnologin": "Du er ikke logget på",
        "mailnologintext": "Du skal være [[Special:UserLogin|logget på]] og have en gyldig e-mailadresse sat i dine [[Special:Preferences|indstillinger]] for at sende e-mail til andre brugere.",
        "emailuser": "E-mail til denne bruger",
        "watchlisttools-edit": "Rediger overvågningsliste",
        "watchlisttools-raw": "Rediger rå overvågningsliste",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskussion]])",
-       "unknown_extension_tag": "Ukendt tag \"$1\"",
        "duplicate-defaultsort": "Advarsel: Standardsorteringsnøglen \"$2\" tilsidesætter den tidligere sorteringsnøgle \"$1\".",
        "version": "Information om MediaWiki",
        "version-extensions": "Installerede udvidelser",
        "version-license": "MediaWiki Licens",
        "version-ext-license": "Licens",
        "version-ext-colheader-name": "Udvidelse",
+       "version-ext-colheader-version": "Version",
        "version-ext-colheader-license": "Licens",
        "version-ext-colheader-description": "Beskrivelse",
        "version-ext-colheader-credits": "Forfattere",
        "specialpages-group-wiki": "Data og værktøjer",
        "specialpages-group-redirects": "Specialsider der viderestiller",
        "specialpages-group-spam": "Spamværktøjer",
+       "specialpages-group-developer": "Udviklerværktøjer",
        "blankpage": "Blank side",
        "intentionallyblankpage": "Denne side er bevidst uden indhold.",
        "external_image_whitelist": " #Lad denne linje være som den er<pre>\n#Skriv dele af regulære uttryk (delen som er mellem //) nedenfor\n#Disse vil tjekkes mod URL'er for eksterne billeder\n#De som matcher, vil blive vist som billeder. Øvrige vil kun blive vist som henvisninger til billedet\n#Linjer som begynder med # behandles som kommentarer\n#Der skelnes ikke mellem store og små bogstaver\n\n#Skriv alle delene af regulære udtryk over denne linje. Lad denne linje være som den er</pre>",
        "htmlform-no": "Nej",
        "htmlform-yes": "Ja",
        "htmlform-chosen-placeholder": "Vælg en mulighed",
+       "htmlform-cloner-create": "Tilføj flere",
+       "htmlform-cloner-delete": "Fjern",
+       "htmlform-cloner-required": "Der kræves mindst en værdi.",
        "sqlite-has-fts": "$1 med fuld-tekst søgnings support",
        "sqlite-no-fts": "$1 uden fuld-tekst søgnings support",
        "logentry-delete-delete": "$1 {{GENDER:$2|slettede}} siden $3",
index cc6b4f9..cc5b39b 100644 (file)
        "pool-queuefull": "Poolwarteschlange ist voll",
        "pool-errorunknown": "Unbekannter Fehler",
        "pool-servererror": "Der Poolzählerdienst ist nicht verfügbar ($1).",
+       "poolcounter-usage-error": "Verwendungsfehler: $1",
        "aboutsite": "Über {{SITENAME}}",
        "aboutpage": "Project:Über_{{SITENAME}}",
        "copyright": "Der Inhalt ist verfügbar unter der Lizenz $1, sofern nicht anders angegeben.",
        "mycustomcssprotected": "Du hast keine Berechtigung, diese CSS-Seite zu bearbeiten.",
        "mycustomjsprotected": "Du hast keine Berechtigung, diese JavaScript-Seite zu bearbeiten.",
        "myprivateinfoprotected": "Du hast keine Berechtigung, deine privaten Informationen zu bearbeiten.",
-       "mypreferencesprotected": "Du hast keine Berechtigung, deine Einstellungen zu bearbeiten.",
+       "mypreferencesprotected": "Du bist nicht berechtigt, deine Einstellungen zu ändern.",
        "ns-specialprotected": "Spezialseiten können nicht bearbeitet werden.",
        "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung „<em>$2</em>“ eingerichtet.",
        "filereadonlyerror": "Die Datei „$1“ kann nicht verändert werden, da auf das Dateirepositorium „$2“ nur Lesezugriff möglich ist.\n\nDer Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3“.",
index e002e62..a8d1a9e 100644 (file)
        "filedelete-maintenance": "Esterayîş u resterasyonê dosyayî wextê texmirî de nibenê.",
        "filedelete-maintenance-title": "Dosyaya nêbesterneyêna",
        "mimesearch": "MIME bigêre",
-       "mimesearch-summary": "no pel, no tewır dosyayan MIME kontrol kena. kewteye: tipa zerreyi/tipa bıni, e.g. <code>resim/jpeg</code>.",
+       "mimesearch-summary": "Na pele, dosyayanê MIME goreyê tewran ra parzûn kena. Cıkewtış: tewrê zerreki/tewro bınên ya zi tewrê zerreki/*, nımune: <code>image/jpeg</code>.",
        "mimetype": "Babetê NIME",
        "download": "bar ke",
        "unwatchedpages": "Pelanê seyrnibiyeyî",
        "exif-ycbcrpositioning": "pozisyonê Y u C",
        "exif-xresolution": "Rezulasyanê veriniye",
        "exif-yresolution": "Rezulasyanê derganiye",
-       "exif-stripoffsets": "cayê data yê resim",
+       "exif-stripoffsets": "Cayê melumatê resımi",
        "exif-rowsperstrip": "Yew reze de teneyê dizeyi",
        "exif-stripbytecounts": "Yew compresyon de dizeyi",
        "exif-jpeginterchangeformat": "JPEG SOI rê ayar bike",
        "exif-coordinate-format": "$1° $2′ $3″ $4",
        "exif-jpegfilecomment": "Vatışê dosyada JPEG'i",
        "exif-keywords": "Qesa kelimey",
-       "exif-worldregioncreated": "Resim dınya dı qanci mıntıqara gêriyayo",
-       "exif-countrycreated": "Resim qanci dewlet ra gêriyayo",
-       "exif-countrycodecreated": "Cayo ke resim ancıyayo kodê dewlet da cı",
-       "exif-provinceorstatecreated": "Cayê resim antışi dewlet yana wılayet",
-       "exif-citycreated": "Suka ke resim gêriyayao",
+       "exif-worldregioncreated": "Mıntıqaya dınyaya ke tede resım gêriyayayo",
+       "exif-countrycreated": "Dewleta ke tede resım gêriyayayo",
+       "exif-countrycodecreated": "Kodê dewleta ke tede resım anciyayo",
+       "exif-provinceorstatecreated": "Wılayet ya zi dewleta ke tede resım anciyayo",
+       "exif-citycreated": "Sûka ke tede resım gêriyayayo",
        "exif-sublocationcreated": "Bın lokasyonê resimê suker da cı grot",
        "exif-worldregiondest": "Wareyo ke mocneyêno",
        "exif-countrydest": "Dewleta ke mocneyêna",
        "exif-event": "Weqaya ke nameycıyo ravreno",
        "exif-organisationinimage": "Organizasyono ke ravêreno",
        "exif-personinimage": "Merdumo ke nameycıyo ravêreno",
-       "exif-originalimageheight": "Veror de resim nêkırpnayışi dergeya cı",
-       "exif-originalimagewidth": "Veror de resim nêkırpnayışi herayeya cı",
+       "exif-originalimageheight": "Nêbırniyane ra ver derganiya resımi",
+       "exif-originalimagewidth": "Nêbırniyane ra ver verındiya resımi",
        "exif-contact-value": "$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8",
        "exif-subjectnewscode-value": "$2 ($1)",
        "exif-compression-1": "Nêdegusneyayo",
        "searchsuggest-search": "Cı geyre",
        "searchsuggest-containing": "Estên...",
        "api-error-badaccess-groups": "Ena wiki de dosya barkerdışi rê mısade nêdeyêno.",
-       "api-error-badtoken": "Xirabiya zerrek:Xırab resim.",
+       "api-error-badtoken": "Xetaya zerreki: Antışo xırabın.",
        "api-error-copyuploaddisabled": "URL barkerdış ena waster dı qefılyayo.",
        "api-error-duplicate": "Ena {{PLURAL:$1|ze ke [zey $2]|biya [zey dosya da $2]}} zeq wesiqa biya wendeyê.",
        "api-error-duplicate-archive": "Ena {{PLURAL:$1|vurneyaya [$2 zey na dosya]| [zerrey cı zey $2 dosya]}} aseno,feqet {{PLURAL:$1|ena dosya|tewr veri}} besterneyaya.",
        "duration-decades": "$1 {{PLURAL:$1|dades|dadesi}}",
        "duration-centuries": "$1 {{PLURAL:$1|seserre|seserri}}",
        "duration-millennia": "$1 {{PLURAL:$1|milenyum|milenyumi}}",
-       "rotate-comment": "Resim heta sehata $1 {{PLURAL:$1|derece|derecey}} bi cerx",
+       "rotate-comment": "Resım hetê saete de $1 {{PLURAL:$1|derece|dereceyi}} çerexniya",
        "limitreport-title": "Agoznaye malumata profili:",
        "limitreport-cputime": "CPU dem karnayış",
        "limitreport-cputime-value": "$1 {{PLURAL:$1|saniye|saniyeyan}}",
index 8fc9cf2..b0751e3 100644 (file)
        "pool-queuefull": "Pool queue is full",
        "pool-errorunknown": "Unknown error",
        "pool-servererror": "The pool counter service is not available ($1).",
+       "poolcounter-usage-error": "Usage error: $1",
        "aboutsite": "About {{SITENAME}}",
        "aboutpage": "Project:About",
        "copyright": "Content is available under $1 unless otherwise noted.",
index 65c3e9a..27b1447 100644 (file)
        "pool-queuefull": "La cola de trabajo está llena",
        "pool-errorunknown": "Error desconocido",
        "pool-servererror": "El servicio de gestión de procesos agrupados no está disponible ($1).",
+       "poolcounter-usage-error": "Error de uso: $1",
        "aboutsite": "Acerca de {{SITENAME}}",
        "aboutpage": "Project:Acerca de",
        "copyright": "El contenido está disponible bajo la licencia $1 a menos que se indique lo contrario.",
index 1089aed..60b61b0 100644 (file)
        "pool-queuefull": "התור מלא",
        "pool-errorunknown": "שגיאה בלתי ידועה",
        "pool-servererror": "שירות המנייה אינו זמין ($1).",
+       "poolcounter-usage-error": "שגיאת שימוש: $1",
        "aboutsite": "אודות {{SITENAME}}",
        "aboutpage": "Project:אודות",
        "copyright": "התוכן זמין לפי תנאי $1 אלא אם נאמר אחרת.",
index bd86d11..037e278 100644 (file)
        "protect-othertime": "Drugo vrijeme:",
        "protect-othertime-op": "drugo vrijeme",
        "protect-existing-expiry": "Postojeće vrijeme zaštite: $3, $2",
+       "protect-existing-expiry-infinity": "trenutačno vrijeme zaštićivanja: neograničeno",
        "protect-otherreason": "Drugi/dodatni razlog:",
        "protect-otherreason-op": "drugi/dodatni razlog",
-       "protect-dropdown": "*Najčešći razlozi zaštićivanja\n** Učestalo vandaliziranje\n** Učestalo spamiranje\n** Neproduktivni uređivački rat\n** Zatrpavanje nedavnih promjena",
+       "protect-dropdown": "*Najčešći razlozi zaštićivanja:\n** učestalo vandaliziranje\n** učestalo spamiranje\n** neproduktivni uređivački rat\n** zatrpavanje nedavnih promjena\n** često korišten/složen predložak\n** stranica za razgovor blokiranog suradnika",
        "protect-edit-reasonlist": "Uredi razloge zaštićivanja",
        "protect-expiry-options": "1 sat:1 hour,1 dan:1 day,1 tjedan:1 week,2 tjedna:2 weeks,1 mjesec:1 month,3 mjeseca:3 months,6 mjeseci:6 months,1 godina:1 year,neograničeno:infinite",
        "restriction-type": "Dopuštenje:",
index 48dbf78..a801a36 100644 (file)
@@ -10,7 +10,8 @@
                        "Salem333",
                        "Teak",
                        "Urhixidur",
-                       "아라"
+                       "아라",
+                       "SalemB"
                ]
        },
        "tog-underline": "Derrer izdayen:",
        "category_header": "Isebtar deg taggayt \"$1\"",
        "subcategories": "Adutaggayin",
        "category-media-header": "Media deg taggayt \"$1\"",
-       "category-empty": "''Taggayt-agi d tilemt.''",
+       "category-empty": "<em>Taggayt agi ur tesɛa asebtar, adu-taggayt neɣ afaylu agetmedia.</em>",
        "hidden-categories": "{{PLURAL:$1|Taggayt yeffren|Taggayin yeffren}}",
        "hidden-category-category": "Taggayin yeffren",
        "category-subcat-count": "Taggayt agi tesɛa {{PLURAL:$2|adu-taggayt|$2 adu-taggayin, ɣef ayed {{PLURAL:$1|t-agi|t-igi $1}}}} ddaw agi.",
        "errorpagetitle": "Agul",
        "returnto": "Uɣal ar $1.",
        "tagline": "Seg {{SITENAME}}",
-       "help": "Tallat",
+       "help": "Tallalt",
        "search": "Nadi",
        "searchbutton": "Nadi",
        "go": "Ẓer",
        "imagepage": "Ẓer asebter n tugna",
        "mediawikipage": "Ẓer asebter n izen",
        "templatepage": "Ẓer asebter n talɣa",
-       "viewhelppage": "Ẓer asebter n tallat",
+       "viewhelppage": "Ẓer asebter n tallalt",
        "categorypage": "Ẓer asebter n taggayin",
        "viewtalkpage": "Ẓer amyannan",
        "otherlanguages": "S tutlayin tiyaḍ",
        "currentevents-url": "Project:Isallen",
        "disclaimers": "Iɣtalen",
        "disclaimerpage": "Project:Iɣtalen",
-       "edithelp": "Tallat deg ubeddel",
+       "edithelp": "Tallalt deg ubeddel",
        "mainpage": "Asebter amenzawi",
        "mainpage-description": "Asebter amenzawi",
        "policy-url": "Project:Ilugan",
        "nstab-image": "Afaylu",
        "nstab-mediawiki": "Izen",
        "nstab-template": "Talɣa",
-       "nstab-help": "Tallat",
+       "nstab-help": "Tallalt",
        "nstab-category": "Taggayt",
        "nosuchaction": "Tigawt ulac-itt",
        "nosuchactiontext": "Wiki ur teɛqil ara tigawt-nni n URL",
        "accmailtitle": "Awal n tbaḍnit yettwazen.",
        "accmailtext": "Awal n uɛaddi id yuran s ugacur i [[User talk:$1|$1]] yetweceggaɛ i $2.\nYezmer ad yetbeddel ɣef usebtar [[Special:ChangePassword|Abeddel n awal uɛddi]] sakin tuqqna.",
        "newarticle": "(Amaynut)",
-       "newarticletext": "Tḍefreḍ azday ɣer usebter mazal ur yettwaxleq ara.\nAkken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar\n(ẓer [$1 asebter n tallat] akken ad tessneḍ kter).\nMa tɣelṭeḍ, wekki kan ɣef tqeffalt \"Back/Précédent\" n browser/explorateur inek.",
+       "newarticletext": "Tḍefreḍ azday ɣer usebter mazal ur yettwaxleq ara.\nAkken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar\n(ẓer [$1 asebter n tallalt] akken ad tessneḍ kter).\nMa tɣelṭeḍ, wekki kan ɣef tqeffalt \"Back/Précédent\" n browser/explorateur inek.",
        "anontalkpagetext": "---- ''Wagi d asebter n umyennan n useqdac adrig, mazal ur d-yesnufa ara amiḍan. I taɣẓint agi, ilaq an seqdec tansa IP ines iwakken at-id n sulu. Yiwet tansa IP tezmer at tettuseqdac sɣur aṭṭas n iseqdacen. Lukan ula d kečč aqla-k amseqdac adrig dɣa ur tebɣiḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:UserLogin/signup|snulfud amiḍan]] naɣ [[Special:UserLogin|qqened]] iwakken sya d asawen ur t-illint ara uguren n usulu.''",
        "noarticletext": "Ulac aḍris deg usebter-agi, tzemreḍ ad [[Special:Search/{{PAGENAME}}|tnadiḍ ɣef wezwel n usebter-agi]] deg isebtar wiyaḍ neɣ [{{fullurl:{{FULLPAGENAME}}|action=edit}} tettbeddileḍ asebter-agi].",
        "noarticletext-nopermission": "Imira ulac aḍris deg usebter agi.\nTzemreḍ [[Special:Search/{{PAGENAME}}|ad nadiḍ ɣef azwel agi]] deg isebtaren nniḍen,\nnaɣ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|asebter={{FULLPAGENAMEE}}}} ad nadiḍ deg iɣmisen iqqenen]</span>.",
        "tooltip-ca-nstab-image": "Ẓer asebter n tugna",
        "tooltip-ca-nstab-mediawiki": "Ẓer izen n system",
        "tooltip-ca-nstab-template": "Ẓer talɣa",
-       "tooltip-ca-nstab-help": "Ẓer asebter n tallat",
+       "tooltip-ca-nstab-help": "Ẓer asebter n tallalt",
        "tooltip-ca-nstab-category": "Ẓer asebter n taggayt",
        "tooltip-minoredit": "Wagi d abeddel afessas",
        "tooltip-save": "Smekti ibeddlen inek",
        "watchlisttools-edit": "Ẓer u beddel umuɣ n uɛessi",
        "watchlisttools-raw": "Beddel umuɣ n uɛessi (raw)",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|amyannan]])",
-       "unknown_extension_tag": "Ticṛeṭ n usiɣzef « $1 » warisem",
        "duplicate-defaultsort": "Ɣur-wet : tasarut n ufran m-ulac « $2 » atsefεej tasarut n uqbel « $1 ».",
        "version": "Lqem",
        "version-extensions": "Isiɣzaf i serkeben",
index f2c26c8..6c49d0b 100644 (file)
        "pool-timeout": "Timeout bis d'Spär opgehuewen ass",
        "pool-queuefull": "Pool-Queue ass voll",
        "pool-errorunknown": "Onbekannte Feeler",
+       "poolcounter-usage-error": "Benotzungsfeeler: $1",
        "aboutsite": "Iwwer {{SITENAME}}",
        "aboutpage": "Project:Iwwer",
        "copyright": "Den Inhalt ass ënner $1 disponibel wann et net anescht uginn ass.",
        "anoneditwarning": "<strong>Opgepasst:</strong> Dir sidd net ageloggt. Dowéinst gëtt amplaz vun engem Benotzernumm Är IP Adress ëffentlech gewise wann Dir Ännerunge maacht. Wann Dir <strong>[$1 Iech aloggt]</strong> oder <strong>[$2 e Bnotzerkont opmaachen]</strong>, Är Ännerunge ginn dann Ärem Benotzerkont zougedeelt, genee wéi aner Avantagen.",
        "anonpreviewwarning": "''Dir sidd net ageloggt. Wann Dir ofspäichert gëtt Är IP-Adress an der Lëscht vun de Versioune vun dëser Säit enregistréiert.''",
        "missingsummary": "'''Erënnerung:''' Dir hutt kee Resumé aginn.\nWann Dir nacheemol op \"{{int:savearticle}}\" klickt, gëtt Är Ännerung ouni Resumé ofgespäichert.",
-       "selfredirect": "<strong>Opgepasst:</strong> Dir maacht eng Viruleedung op deeselwechten Artikel.\nWann Dir nach eng Kéier op \"{{int:savearticle}}\" klickt, da gëtt d'Viruleedung ugeluecht.",
+       "selfredirect": "<strong>Opgepasst:</strong> Dir maacht eng Viruleedung vun dëser Aäit op sech selwer.\n\nEt ka sinn datt Dir déi falsch Zilsäit fir d'Viruleedung aginn hutt oder datt Dir déi falsch Säit ännert.\n\nWann Dir nach eng Kéier op \"{{int:savearticle}}\" klickt, da gëtt d'Viruleedung trotzdem ugeluecht.",
        "missingcommenttext": "Gitt w.e.g. eng Bemierkung an.",
        "missingcommentheader": "'''Denkt drun:''' Dir hutt keen Titel/Sujet fir dës Bemierkung aginn.\nWann Dir nach en Kéier op \"{{int:savearticle}}\" klickt da gëtt Är Ännerung ouni Titel gespäichert.",
        "summary-preview": "Resumé kucken ouni ofzespäicheren:",
        "revdelete-legend": "Limitatioune fir d'Sichtbarkeet festleeën",
        "revdelete-hide-text": "Text vun der Versioun",
        "revdelete-hide-image": "Bildinhalt verstoppen",
-       "revdelete-hide-name": "Logbuch-Aktioun verstoppen",
+       "revdelete-hide-name": "Zil a Parametere verstoppen",
        "revdelete-hide-comment": "Resumé vun der Ännerung",
        "revdelete-hide-user": "Dem Auteur säi Benotzernumm/IP-Adress",
        "revdelete-hide-restricted": "Donnéeën och fir Administrateuren suppriméieren geneesou wéi fir déi Aner",
index 5a8595a..fe6ae4c 100644 (file)
        "pool-queuefull": "اماییه کاری گی گرتن پر بیه",
        "pool-errorunknown": "خطا نادیار",
        "pool-servererror": "پول سنتر خذمتگه د دسرس نئ($1).",
+       "poolcounter-usage-error": "خطار وه کار گرتن:$1",
        "aboutsite": "دباره {{SITENAME}}",
        "aboutpage": "پروجه:دباره",
        "copyright": "مینونه د دسرس هئ سی $1 مر وه شلک هنی نوشته بوئه",
        "nocookiesfornew": "حساو کاریاری راس نبیه، سی یه ایما نتونیم سرچشمه ونه مئکم بکیم.\nمطمئن بوئیت که کوکیا کنشتگر بینه، ای بلگه نه د نو سوار بکید و د نو تلاش بکید.",
        "nocookiesforlogin": "{{int:nocookieslogin}}",
        "noname": "شما یه گل نوم کاریاری خو ناریت",
-       "loginsuccesstitle": "اومائن د سيستم موفق بی",
+       "loginsuccesstitle": "اومائن د سامونه موفق بی",
        "loginsuccess": "شما ایسه وارد بیته {{SITENAME}} د چی\"$1\".'",
        "nosuchuser": "چنی کاریاری و نوم  \"$1\" نئیش.\nنوم کاریاری وه حرفیا حساس هئ.\nروشت نیسنن تونه وارسی بکید،یا [[ویجه:وامین اومائن کاریار/ثوت نام کردن|یه گل حساو تازه راس بکید]].",
        "nosuchusershort": "چنو کاریاری وا ای نوم $1 نی ئیش.\nنیسنن تونه دوواره نئری بکیتو",
        "savefile": "جانیا نه اماییه کو",
        "uploaddisabled": "سوار کردن د کار نئ.",
        "copyuploaddisabled": "سوار کردن وا یو آر ال د کار نئ.",
-       "uploaddisabledtext": "سوار کرد فایلیا د کار نئ.",
+       "uploaddisabledtext": "سوار کرد جانیایا د کار نئ.",
        "php-uploaddisabledtext": "سوارکرد جانیایا د پی اچ پی ناکشتگر بیه.\nلطفن میزونکاری سوارکرد جانیا نه وارسی بکیت.",
        "uploadscripted": "ای بلگه مینونه دار رازینه اچ تی امل یا نیسسه یه که شایت وه ناخوشی وا دوراته نیئر واشکافت با.",
        "uploadscriptednamespace": "ای جانیا اس‌ وی‌ جی نوم جا غیرقانونی '$1' داره.",
        "uploadinvalidxml": "ایکس ام الی که سوار بیه نبوئه نوتیج با.",
        "uploadvirus": "د ای جانیا ویروس هئ!\nجزیات:$1",
        "uploadjava": "ای جانیا یه گل جانیا زیپه که مینونه دار جانیایی د نوع کلاس جاوائه.\nسوارکردن جانیایا جاوا قدقن بیه، سی یه که شایت ونو صلا دور زئن محدودیتیا امنیتی نه بی ئن.",
-       "upload-source": "سرچشمه فایل",
+       "upload-source": "سرچشمه جانیا",
        "sourcefilename": "سرچشمه نوم جانیا:",
        "sourceurl": "سرچشمه يو آر ال:",
-       "destfilename": "نوم فایل مقصد:",
+       "destfilename": "نوم جانیا مقصد:",
        "upload-maxfilesize": "بیشترونه انازه جانیا:$1",
        "upload-description": "شرح جانیا",
        "upload-options": "گزینه یا سوارکرد",
        "upload-failure-subj": "مشگل د سوارکردن",
        "upload-failure-msg": "یه گل مشلگل د سوارکردتو سی [$2] بی:$1",
        "upload-warning-subj": "هشدار سوارکرد",
-       "upload-warning-msg": "د Ù\86Ù\88Ù\85 Ø¨Ù\84Ú¯Ù\87 Ø³Ù\88ارکرد Ù\85Ø´Ú¯Ù\84Û\8c Ø¨Û\8c [$2]. Ø´Ù\85ا Ù\85Û\8c ØªÙ\88Ù\86Û\8cت Ø¯[[Special:Upload/stash/$1|Ù\86Ù\88Ù\85 Ø¨Ù\84Ú¯Ù\87 Ø³Ù\88ارکرد]] Ø¤Û\8cرذیت تا ای مشگل نه برطرف بکیت.",
+       "upload-warning-msg": "د Ù\86Ù\88Ù\85 Ø¨Ù\84Ú¯Ù\87 Ø³Ù\88ارکرد Ù\85Ø´Ú¯Ù\84Û\8c Ø¨Û\8c [$2]. Ø´Ù\85ا Ù\85Û\8c ØªÙ\88Ù\86Û\8cت Ø¯[[Special:Upload/stash/$1|Ù\86Ù\88Ù\85 Ø¨Ù\84Ú¯Ù\87 Ø³Ù\88ارکرد]] Ø¤Û\8cرئیت تا ای مشگل نه برطرف بکیت.",
        "upload-proto-error": "پروتکل نادروس",
        "upload-proto-error-text": "سوارکرد د د دیرادیر ائتیاج وه تیرنشونیایی داره که وا <code dir=ltr>http://</code> یا <code dir=ltr>ftp://</code> شرو بان.",
        "upload-file-error": "خطا مینونه",
-       "upload-file-error-text": "گات ØªÙ\84اش Ø³Û\8c Ø±Ø§Ø³ Ú©Ø±Ø¯Ù\86 Û\8cÙ\87 Ú¯Ù\84 Ø¬Ø§Ù\86Û\8cا Ù\85Ù\88Ù\82تÛ\8c Ø¯ Ø³Ø±Ù\88ر یه گل خطا مینونه پیش اومائه.\nلطفن وا یه گل [[Special:ListUsers/sysop|دیووندار]] تماس بئریت.",
+       "upload-file-error-text": "گات ØªÙ\84اش Ø³Û\8c Ø±Ø§Ø³ Ú©Ø±Ø¯Ù\86 Û\8cÙ\87 Ú¯Ù\84 Ø¬Ø§Ù\86Û\8cا Ù\85Ù\88Ù\82تÛ\8c Ø¯ Ø±Ø³Û\8cÙ\86Ù\87 Ø¬Ø§ یه گل خطا مینونه پیش اومائه.\nلطفن وا یه گل [[Special:ListUsers/sysop|دیووندار]] تماس بئریت.",
        "upload-misc-error": "خطا سوار کرد ناشناخته",
        "upload-misc-error-text": "د گات سوارکرد خطایی نادیاری پیش اومائه.\nلطف بکیت یه دل بایت که تیرنشون اینترنتی خو و د دسرسه و هنی تلاش بکیت.\nار مشگل هنی بیئش وا یه گل [[Special:ListUsers/sysop|دیوونداریا]] تماس بئیریت.",
        "upload-too-many-redirects": "ای یو آر ال د ورگیرنه واگردونیا فرئی هئ",
        "upload-copy-upload-invalid-domain": "ورداشتن سوارکردیا د ای پوشگئر د دسرس نئ.",
        "backend-fail-stream": "نبوئه جانیا\"$1\" کل بوئه.",
        "backend-fail-backup": "نبوئه سی \"$1\" پشتجا گرت.",
-       "backend-fail-notexists": "فایل $1 وجود ناره.",
+       "backend-fail-notexists": "جانیا $1 وجود ناره.",
        "backend-fail-hashes": "گرتن هش یا جانیا سی ری به ری یک نیاین د خوئی انجوم نگرت.",
        "backend-fail-notsame": "جانیا ناهمتایی ها د $1 .",
        "backend-fail-invalidpath": "\"$1\" ره خوئی سی امائیه کردن نئ.",
index 9cc4f98..42c03dd 100644 (file)
        "pool-queuefull": "Редицата на барања е полна",
        "pool-errorunknown": "Непозната грешка",
        "pool-servererror": "Службата на фондовскиот шалтер е недостапна ($1).",
+       "poolcounter-usage-error": "Грешка во употребата: $1",
        "aboutsite": "За {{SITENAME}}",
        "aboutpage": "Project:За {{SITENAME}}",
        "copyright": "Содржината е достапна под условите на $1 освен ако не е поинаку наведено.",
        "uctop": "(тековно)",
        "month": "Од месец (и порано):",
        "year": "Од година (и порано):",
-       "sp-contributions-newbies": "Прикажи придонеси само на нови корисници",
+       "sp-contributions-newbies": "Прикажи само придонеси на нови корисници",
        "sp-contributions-newbies-sub": "За нови кориснички сметки",
        "sp-contributions-newbies-title": "Придонеси на нови корисници",
        "sp-contributions-blocklog": "Дневник на блокирања",
index b7481e9..10743af 100644 (file)
        "anoneditwarning": "<strong>മുന്നറിയിപ്പ്:</strong> താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. താങ്കൾ തിരുത്തുകളെന്തെങ്കിലും ചെയ്യുകയാണെങ്കിൽ താങ്കളുടെ ഐ.പി. വിലാസം എല്ലാവർക്കും ലഭ്യമായിരിക്കും. താങ്കൾ <strong>[$1 ലോഗിൻ ചെയ്യുകയോ]</strong>  <strong>[$2 അംഗത്വമെടുക്കുകയോ]</strong> ചെയ്യുന്നതുവഴി മറ്റ് ഗുണങ്ങളോടൊപ്പം താങ്കളുടെ തിരുത്തുകൾ ഉപയോക്തൃനാമത്തിലാവും അറിയപ്പെടുക.",
        "anonpreviewwarning": "''താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. സേവ് ചെയ്യുമ്പോൾ താളിന്റെ തിരുത്തൽ ചരിത്രത്തിൽ താങ്കളുടെ ഐ.പി. വിലാസം ചേർത്തു സൂക്ഷിക്കപ്പെടും.''",
        "missingsummary": "'''ഓർമ്മക്കുറിപ്പ്:''' താങ്കൾ തിരുത്തലിന്റെ ചുരുക്കരൂപം നൽകിയിട്ടില്ല. ''സേവ് ചെയ്യുക'' ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ താങ്കൾ വരുത്തിയ മാറ്റം കാത്തുസൂക്ഷിക്കുന്നതാണ്.",
-       "selfredirect": "<strong>à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d:</strong> à´\85à´¤àµ\87 à´²àµ\87à´\96നതàµ\8dതിലàµ\87à´\95àµ\8dà´\95àµ\81à´³àµ\8dà´³ à´¤à´¿à´°à´¿à´\9aàµ\8dà´\9aàµ\81വിà´\9fലാണàµ\8d à´¤à´¾à´\99àµ\8dà´\95ൾ à´¸àµ\83à´·àµ\8dà´\9fà´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതàµ\8d.\nവീണ്ടും \"{{int:savearticle}}\" അമർത്തിയാൽ, തിരിച്ചുവിടൽ സൃഷ്ടിക്കപ്പെടുന്നതാണ്.",
+       "selfredirect": "<strong>à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d:</strong> à´\88 à´¤à´¾à´³à´¿à´²àµ\87à´\95àµ\8dà´\95àµ\8d à´¤à´¨àµ\8dà´¨àµ\86à´¯àµ\81à´³àµ\8dà´³ à´¤à´¿à´°à´¿à´\9aàµ\8dà´\9aàµ\81വിà´\9fലാണàµ\8d à´¤à´¾à´\99àµ\8dà´\95ൾ à´¸àµ\83à´·àµ\8dà´\9fà´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതàµ\8d.\nതിരിà´\9aàµ\8dà´\9aàµ\81വിà´\9fലിനàµ\81 à´¤à´¾à´\99àµ\8dà´\95ൾ à´¨àµ½à´\95à´¿à´¯ à´²à´\95àµ\8dà´·àµ\8dà´¯à´\82 à´¤àµ\86à´±àµ\8dറിയിരിà´\95àµ\8dà´\95à´¾à´\82 à´\85à´²àµ\8dà´²àµ\86à´\99àµ\8dà´\95ിൽ à´¤à´¾à´\99àµ\8dà´\95ൾ à´¤à´¿à´°àµ\81à´¤àµ\8dà´¤àµ\81à´¨àµ\8dനതàµ\8d à´¤àµ\86à´±àµ\8dറായ à´¤à´¾àµ¾ à´\86യിരിà´\95àµ\8dà´\95à´¾à´\82.\nà´\8eà´¨àµ\8dതായാലàµ\81à´\82വീണ്ടും \"{{int:savearticle}}\" അമർത്തിയാൽ, തിരിച്ചുവിടൽ സൃഷ്ടിക്കപ്പെടുന്നതാണ്.",
        "missingcommenttext": "താങ്കളുടെ അഭിപ്രായം ദയവായി താഴെ രേഖപ്പെടുത്തുക.",
        "missingcommentheader": "'''ഓർമ്മക്കുറിപ്പ്:''' ഈ കുറിപ്പിന് താങ്കൾ വിഷയം/തലക്കെട്ട് നൽകിയിട്ടില്ല. ''{{int:savearticle}}'' എന്ന ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ വിഷയം/തലക്കെട്ട് ഇല്ലാതെ തന്നെ കാത്തുസൂക്ഷിക്കുന്നതാവും.",
        "summary-preview": "ചുരുക്കരൂപം എങ്ങനെയുണ്ടെന്നു കാണുക:",
        "history-feed-empty": "താങ്കൾ തിരഞ്ഞ താൾ നിലവിലില്ല.\nപ്രസ്തുത താൾ വിക്കിയിൽ നിന്നു ഒഴിവാക്കിയിരിക്കാനോ പുനർനാമകരണം ചെയ്തിരിക്കാനോ സാദ്ധ്യത ഉണ്ട്.\nബന്ധപ്പെട്ട പുതിയ താളുകൾ കണ്ടെത്താൻ [[Special:Search|വിക്കിയിലെ തിരച്ചിൽ]] എന്ന താൾ ഉപയോഗിക്കുക.",
        "rev-deleted-comment": "(തിരുത്തലിന്റെ ചുരുക്കം ഒഴിവാക്കിയിരിക്കുന്നു)",
        "rev-deleted-user": "(ഉപയോക്തൃനാമം ഒഴിവാക്കിയിരിക്കുന്നു)",
-       "rev-deleted-event": "(à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതിയàµ\81à´\9fàµ\86 à´°àµ\87à´\96 ഒഴിവാക്കിയിരിക്കുന്നു)",
+       "rev-deleted-event": "(à´°àµ\87à´\96à´¾ à´µà´¿à´µà´°à´\99àµ\8dà´\99ൾ ഒഴിവാക്കിയിരിക്കുന്നു)",
        "rev-deleted-user-contribs": "[ഉപയോക്തൃനാമം അഥവാ ഐ.പി. വിലാസം ഒഴിവാക്കപ്പെട്ടിരിക്കുന്നു - തിരുത്തൽ സേവനങ്ങളിൽ നിന്നും മറച്ചിരിക്കുന്നു]",
        "rev-deleted-text-permission": "താളിന്റെ ഈ നാൾപ്പതിപ്പ് '''മായ്ച്ചിരിക്കുന്നു'''.\nകൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} മായ്ക്കൽ രേഖയിൽ] കാണാവുന്നതാണ്.",
        "rev-suppressed-text-permission": "താളിന്റെ ഈ സംശോധനം <strong>ഒതുക്കിയിരിക്കുന്നു</strong>.\nകൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} ഒതുക്കൽ രേഖയിൽ] ഉണ്ട്.",
        "revdelete-legend": "നാൾപ്പതിപ്പിന്റെ ദർശനീയത സജ്ജീകരിക്കുക",
        "revdelete-hide-text": "നാൾപ്പതിപ്പിലെ എഴുത്ത്",
        "revdelete-hide-image": "പ്രമാണത്തിന്റെ ഉള്ളടക്കം മറയ്ക്കുക",
-       "revdelete-hide-name": "à´ªàµ\8dà´°à´µàµ\83à´¤àµ\8dതിയàµ\81à´\82 à´²à´\95àµ\8dà´·àµ\8dയവും മറയ്ക്കുക",
+       "revdelete-hide-name": "à´²à´\95àµ\8dà´·àµ\8dയവàµ\81à´\82 à´\9aà´°à´\99àµ\8dà´\99à´³ും മറയ്ക്കുക",
        "revdelete-hide-comment": "തിരുത്തലിന്റെ ചുരുക്കം",
        "revdelete-hide-user": "തിരുത്തുന്ന ആളുടെ ഉപയോക്തൃനാമം/ഐ.പി. വിലാസം",
        "revdelete-hide-restricted": "വിവരങ്ങളുടെ നിയന്ത്രണം മറ്റുള്ളവരെ പോലെ കാര്യനിർവാഹകർക്കും ബാധകമാക്കുക",
        "watchlisttools-edit": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക കാണുക, തിരുത്തുക",
        "watchlisttools-raw": "താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയുടെ മൂലരൂപം തിരുത്തുക",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|സംവാദം]])",
-       "unknown_extension_tag": "അജ്ഞാതമായ അനുബന്ധ റ്റാഗ് \"$1\"",
        "duplicate-defaultsort": "'''മുന്നറിയിപ്പ്:''' ക്രമപ്പെടുത്താനുള്ള ചാവിയായ \"$2\" മുമ്പ് ക്രമപ്പെടുത്താനുള്ള ചാവിയായിരുന്ന \"$1\" എന്നതിനെ അതിലംഘിക്കുന്നു.",
        "duplicate-displaytitle": "<strong>മുന്നറിയിപ്പ്:</strong> പ്രദർശിപ്പിക്കുന്ന തലക്കെട്ട് \"$2\" മുമ്പ് പ്രദർശിപ്പിച്ചിരുന്ന തലക്കെട്ട് \"$1\" എന്നതിനെ അതിലംഘിക്കുന്നു.",
        "version": "പതിപ്പ്",
index e5db39d..61683af 100644 (file)
@@ -62,7 +62,8 @@
                        "NCoppens",
                        "Josse.Cottenier",
                        "Macofe",
-                       "Mirolith"
+                       "Mirolith",
+                       "Akoopal"
                ]
        },
        "tog-underline": "Koppelingen onderstrepen:",
        "anoneditwarning": "<strong>Waarschuwing:</strong> u bent niet aangemeld.\nUw IP-adres wordt opgeslagen als u wijzigingen op deze pagina maakt. Wanneer u <strong>[$1 aanmeldt]</strong> of <strong>[$2 een gebruiker aanmaakt]</strong verschijnen uw bewerkingen onder uw gebruikersnaam, naast andere voordelen.",
        "anonpreviewwarning": "''U bent niet aangemeld.''\n''Door uw bewerking op te slaan wordt uw IP-adres opgeslagen in de paginageschiedenis.''",
        "missingsummary": "'''Let op:''' u hebt geen bewerkingssamenvatting opgegeven.\nAls u nogmaals op \"{{int:savearticle}}\" klikt wordt de bewerking zonder samenvatting opgeslagen.",
+       "selfredirect": "<strong>Waarschuwing:</strong>U heeft een doorverwijzing gemaakt naar dezelfde pagina. Mogelijk heeft u de verkeerde bestemming voor de doorverwijzing gebruikt, of bewerkt u de verkeerde pagina. Door alsnog op \"{{int:savearticle}}\" te klikken word de doorverwijzing alsnog gecreëerd.",
        "missingcommenttext": "Plaats uw reactie hieronder.",
        "missingcommentheader": "'''Let op:''' u hebt geen onderwerp/kop voor deze opmerking opgegeven.\nAls u opnieuw op \"{{int:savearticle}}\" klikt, wordt uw wijziging zonder een onderwerp/kop opgeslagen.",
        "summary-preview": "Bewerkingssamenvatting nakijken:",
index 16ff0e2..68b61a5 100644 (file)
@@ -47,7 +47,7 @@
        "tog-shownumberswatching": "Vis kor mange som overvakar sida",
        "tog-oldsig": "Noverande signatur:",
        "tog-fancysig": "Handsam signaturar som wikitekst (utan automatisk lenking)",
-       "tog-uselivepreview": "Bruk levande førehandsvising (eksperimentelt)",
+       "tog-uselivepreview": "Bruk levande førehandsvising",
        "tog-forceeditsummary": "Spør meg når eg ikkje har skrive noko i endringssamandraget",
        "tog-watchlisthideown": "Gøym endringane mine i overvakingslista",
        "tog-watchlisthidebots": "Gøym endringar gjorde av robotar i overvakingslista",
        "otherlanguages": "På andre språk",
        "redirectedfrom": "(Omdirigert frå $1)",
        "redirectpagesub": "Omdirigeringsside",
+       "redirectto": "Omdirigering til:",
        "lastmodifiedat": "Sida vart sist endra $1 kl. $2.",
        "viewcount": "Sida er vist {{PLURAL:$1|éin gong|$1 gonger}}.",
        "protectedpage": "Verna side",
        "toc": "Innhaldsliste",
        "showtoc": "vis",
        "hidetoc": "gøym",
-       "collapsible-collapse": "Slå saman.",
+       "collapsible-collapse": "Slå saman",
        "collapsible-expand": "Vid ut",
        "confirmable-confirm": "Er {{GENDER:$1|du}} viss på dette?",
        "confirmable-yes": "Ja",
        "error": "Feil",
        "databaseerror": "Databasefeil",
        "databaseerror-text": "Ein spørjefeil mot databasen har oppstått.\nDette kan indikere ein feil i programvara.",
+       "databaseerror-query": "Spørjing: $1",
+       "databaseerror-function": "Funksjon: $1",
        "databaseerror-error": "Feil: $1",
        "laggedslavemode": "Åtvaring: Det er mogleg at sida ikkje er heilt oppdatert.",
        "readonly": "Databasen er skriveverna",
        "filerenameerror": "Kunne ikkje døype om fila frå «$1» til «$2».",
        "filedeleteerror": "Kunne ikkje slette fila «$1».",
        "directorycreateerror": "Kunne ikkje opprette mappa «$1».",
+       "directoryreadonlyerror": "Mappa «$1» er skriveverna.",
+       "directorynotreadableerror": "Mappa «$1» kan ikkje lesast.",
        "filenotfound": "Kunne ikkje finne fila «$1».",
        "unexpected": "Uventa verdi: «$1»=«$2».",
        "formerror": "Feil: Kunne ikkje sende skjema",
        "gotaccountlink": "Logg inn",
        "userlogin-resetlink": "Har du gløymd påloggingsopplysingane dine?",
        "userlogin-resetpassword-link": "Gløymt passordet ditt?",
+       "userlogin-helplink2": "Hjelp med innlogging",
+       "userlogin-loggedin": "Du er alt innlogga som {{GENDER:$1|$1}}.\nNytt skjemaet nedanfor for å logga inn som ein annan brukar.",
+       "userlogin-createanother": "Opprett ein annan konto",
        "createacct-emailrequired": "E-postadresse:",
        "createacct-emailoptional": "E-postadresse (valfritt)",
        "createacct-email-ph": "Skriv inn e-postadressa di",
        "createacct-another-email-ph": "Skriv inn e-postadresse",
-       "createaccountmail": "Bruk eit mellombels tilfeldig passord og send det til e-postadressa som er oppgjeven under",
+       "createaccountmail": "Bruk eit mellombels tilfeldig passord og send det til den oppgjevne e-postadressa",
        "createacct-realname": "Sant namn (valfritt)",
        "createaccountreason": "Årsak:",
        "createacct-reason": "Årsak",
        "passwordreset-emailtext-ip": "Nokon (sannsynlegvis deg, frå IP-adressa $1) bad om ei påminning for kontodetaljane dine for {{SITENAME}} ($4). {{PLURAL:$3|Den fylgjande brukarkontoen|Dei fylgjande brukarkontoane}} er assosierte med denne e-postadressa:\n\n$2\n\n{{PLURAL:$3|Dette mellombels passordet|Desse mellombels passorda}} vil verta ugilde om {{PLURAL:$5|éin dag|$5 dagar}}.\nDu bør logga inn og velja eit nytt passord no. Om nokon andre enn deg bad om denne påminninga, eller du har kome i hug det opphavlege passordet og ikkje lenger ynskjer å endra det, kan du sjå bort frå denne meldinga og halda fram med å nytta det gamle passordet ditt.",
        "passwordreset-emailtext-user": "Brukaren $1 på {{SITENAME}} bad om ei påminning for kontodetaljane dine for {{SITENAME}} ($4). {{PLURAL:$3|Den fylgjande brukarkontoen|Dei fylgjande brukarkontoane}} er assosierte med denne e-postadressa:\n\n$2\n\n{{PLURAL:$3|Dette mellombels passordet|Desse mellombels passorda}} vil verta ugilde om {{PLURAL:$5|éin dag|$5 dagar}}.\nDu bør logga inn og velja eit nytt passord no. Om nokon andre enn deg bad om denne påminninga, eller du har kome i hug det opphavlege passordet og ikkje lenger ynskjer å endra det, kan du sjå bort frå denne meldinga og halda fram med å nytta det gamle passordet ditt.",
        "passwordreset-emailelement": "↓Brukarnamn: $1\nMellombels passord: $2",
-       "passwordreset-emailsent": "↓Ei påminning har vorte sendt på e-post.",
-       "passwordreset-emailsent-capture": "Eposten under er sendt ut som ei påminning.",
-       "passwordreset-emailerror-capture": "Ein påminnings-e-post vart oppretta, og er vist nedanfor; men det lukkast ikkje å senda han til brukaren: $1",
+       "passwordreset-emailsent": "Ein e-post for attendestilling av passord er vorten send",
+       "passwordreset-emailsent-capture": "Ein e-post om attendestilling av passord - vist under - er vorten send",
+       "passwordreset-emailerror-capture": "Ein e-post om attendestilling av passord vart oppretta, og er vist nedanfor; men det lukkast ikkje å senda han til {{GENDER:$2|brukaren}}: $1",
        "changeemail": "↓Endre e-postadresse",
        "changeemail-text": "↓Fyll ut dette skjemaet for å endra di e-postadresse. Du må oppgje passordet ditt for å stadfesta endringa.",
        "changeemail-no-info": "↓Du må vera pålogga for å få tilgang direkte til denne sida.",
        "changeemail-none": "↓(ingen)",
        "changeemail-password": "{{SITENAME}}-passordet ditt:",
        "changeemail-submit": "↓Endre e-post",
+       "changeemail-throttled": "Du har freista for mange gonger å logga inn. Du lyt venta $1 før du kan freista på nytt.",
        "bold_sample": "Halvfeit skrift",
        "bold_tip": "Halvfeit skrift",
        "italic_sample": "Kursivskrift",
        "right-move": "Flytte sider",
        "right-move-subpages": "Flytte sider med undersider",
        "right-move-rootuserpages": "Flytte hovudbrukarsider",
+       "right-move-categorypages": "Flytta kategorisider",
        "right-movefile": "Flytta filer",
        "right-suppressredirect": "Treng ikkje lage omdirigering frå det gamle namnet når sida vert flytta",
        "right-upload": "Laste opp filer",
        "action-move": "flytte denne sida",
        "action-move-subpages": "flytte denne sida og undersidene hennar",
        "action-move-rootuserpages": "flytte hovudbrukarsider",
+       "action-move-categorypages": "flytta kategorisider",
        "action-movefile": "flytta denne fila",
        "action-upload": "laste opp denne fila",
        "action-reupload": "skrive over den noverande fila",
        "action-block": "blokkere denne brukaren frå å gjere endringar",
        "action-protect": "endre vernenivået til sida",
        "action-rollback": "snøgt rulla attende endringane til den siste brukaren som endra ei viss side",
-       "action-import": "importere denne sida frå ein annan wiki",
-       "action-importupload": "importere denne sida frå ei opplasta fil",
+       "action-import": "importera sider frå ein annan wiki",
+       "action-importupload": "importera sider frå ei filopplasting",
        "action-patrol": "merke andre endringar av andre brukar som patruljert",
        "action-autopatrol": "merke endringane dine som partuljert",
        "action-unwatchedpages": "vise lista over uovervaka sider",
        "action-sendemail": "senda e-postar",
        "action-editmywatchlist": "endra overvakingslista di",
        "action-viewmywatchlist": "sjå overvakingslista di",
+       "action-viewmyprivateinfo": "sjå den private informasjonen din",
+       "action-editmyprivateinfo": "endra den private informasjonen din",
        "nchanges": "{{PLURAL:$1|Éi endring|$1 endringar}}",
+       "enhancedrc-history": "historikk",
        "recentchanges": "Siste endringar",
        "recentchanges-legend": "Alternativ for siste endringar",
        "recentchanges-summary": "På denne sida ser du dei sist endra sidene i {{SITENAME}}.",
        "license-nopreview": "(Førehandsvising er ikkje tilgjengeleg)",
        "upload_source_url": " (ei gyldig, offentleg tilgjengeleg nettadresse)",
        "upload_source_file": " (ei fil på datamaskina di)",
+       "listfiles-delete": "slett",
        "listfiles-summary": "Spesialsida viser alle opplasta filer.\nNår ho er filtrert etter brukar, vert berre filene der brukaren lasta opp den siste versjonen viste.",
        "listfiles_search_for": "Søk etter filnamn:",
        "imgfile": "fil",
        "listfiles_size": "Storleik",
        "listfiles_description": "Skildring",
        "listfiles_count": "Versjonar",
+       "listfiles-latestversion-yes": "Ja",
+       "listfiles-latestversion-no": "Nei",
        "file-anchor-link": "Fil",
        "filehist": "Filhistorikk",
        "filehist-help": "Klikk på dato/klokkeslett for å sjå fila slik ho var på det tidspunktet.",
        "randomincategory": "Tilfeldig side frå kategori",
        "randomincategory-invalidcategory": "«$1» er ikkje eit gildt kategorinamn.",
        "randomincategory-nopages": "Det er ingen sider i kategorien [[:Category:$1|$1]].",
+       "randomincategory-category": "Kategori:",
+       "randomincategory-legend": "Tilfeldig side frå kategori",
        "randomredirect": "Tilfeldig omdirigering",
        "randomredirect-nopages": "Det finst ingen omdirigeringar i namnerommet «$1».",
        "statistics": "Statistikk",
        "wantedfiles": "Etterspurde filer",
        "wantedfiletext-cat": "Desse filene er nytta men finst ikkje. Filer frå utannettstadlege samlingar kan vera lista opp sjølv om dei finst. Slike falske positivar vert <del>strokne ut</del>. Sider som nyttar filer som ikkje finst vert lista opp i [[:$1]].",
        "wantedfiletext-nocat": "Desse filene er nytta men finst ikkje. Filer frå utannettstadlege samlingar kan vera lista opp sjølv om dei finst. Slike falske positivar vert <del>strokne ut</del>.",
+       "wantedfiletext-nocat-noforeign": "Desse filene vert nytta, men finst ikkje.",
        "wantedtemplates": "Etterspurde malar",
        "mostlinked": "Sidene med flest lenkjer til seg",
        "mostlinkedcategories": "Mest brukte kategoriar",
-       "mostlinkedtemplates": "Mest brukte malar",
+       "mostlinkedtemplates": "Mest inkluderte sider",
        "mostcategories": "Sidene med flest kategoriar",
        "mostimages": "Mest brukte filer",
        "mostinterwikis": "Sidene med flest interwikiar",
        "mostrevisions": "Sidene med flest endringar",
        "prefixindex": "Alle sider med forstaving",
        "prefixindex-namespace": "Alle sider med førefeste ($1-namnerommet)",
+       "prefixindex-strip": "Fjern førefestet i lista",
        "shortpages": "Korte sider",
        "longpages": "Lange sider",
        "deadendpages": "Blindvegsider",
        "deadendpagestext": "Desse sidene har ikkje lenkjer til andre sider på {{SITENAME}}.",
        "protectedpages": "Verna sider",
        "protectedpages-indef": "Berre vern på uavgrensa tid",
+       "protectedpages-summary": "Sida listar opp sider som finst og er verna. For ei liste over titlar som er verna mot oppretting, sjå [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
        "protectedpages-cascade": "Berre djupvern",
+       "protectedpages-noredirect": "Gøym omdirigeringar",
        "protectedpagesempty": "Ingen sider er verna på den valde måten akkurat no.",
+       "protectedpages-timestamp": "Tidsmerke",
+       "protectedpages-page": "Side",
+       "protectedpages-expiry": "Endar",
+       "protectedpages-performer": "Brukar som verna",
+       "protectedpages-params": "Vernestode",
+       "protectedpages-reason": "Årsak",
+       "protectedpages-unknown-timestamp": "Ukjent",
+       "protectedpages-unknown-performer": "Ukjend brukar",
        "protectedtitles": "Verna sidenamn",
+       "protectedtitles-summary": "Sida listar opp titlar som er verna mot oppretting. For ei liste over sider som finst og er verna, sjå [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Ingen sider er verna på den valde måten akkurat no.",
        "listusers": "Brukarliste",
        "listusers-editsonly": "Vis berre brukarar med endringar",
        "allmessages-prefix": "Filtrer etter prefiks:",
        "allmessages-language": "Språk:",
        "allmessages-filter-submit": "Gå",
+       "allmessages-filter-translate": "Set om",
        "thumbnail-more": "Forstørr",
        "filemissing": "Fila manglar",
        "thumbnail_error": "Feil ved oppretting av miniatyrbilete: $1",
        "import": "Importer sider",
        "importinterwiki": "Transwikiimport",
        "import-interwiki-text": "Vel ei wiki og ei side å importere. Endringssdatoer og brukarar som har medverka vert bevart. Alle transwiki-importeringar vert vist i [[Special:Log/import|importloggen]].",
+       "import-interwiki-sourcepage": "Kjeldeside:",
        "import-interwiki-history": "Kopier all historikken for denne sida",
        "import-interwiki-templates": "Inkluder alle malar",
        "import-interwiki-submit": "Importer",
        "watchlisttools-edit": "Vis og endre overvakingslista",
        "watchlisttools-raw": "Endre på overvakingslista i råformat",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskusjon]])",
-       "unknown_extension_tag": "Ukjend tilleggsmerking «$1»",
        "duplicate-defaultsort": "Åtvaring: Standardsorteringa «$2» tar over for den tidlegare sorteringa «$1».",
        "version": "Versjon",
        "version-extensions": "Installerte utvidingar",
        "specialpages-group-wiki": "Data og verktøy",
        "specialpages-group-redirects": "Omdirigerande spesialsider",
        "specialpages-group-spam": "Spamverktøy",
+       "specialpages-group-developer": "Utviklarverktøy",
        "blankpage": "Tom side",
        "intentionallyblankpage": "Denne sida er tom med vilje",
        "external_image_whitelist": " #La denne linja vere som ho er<pre>\n#Skriv fragment av regulære uttrykk (delen som går mellom //) nedanfor\n#Desse vil verte sjekka mot adresser til bilete frå eksterne sider\n#Dei som vert godkjend vil visast, elles vil det verte gjeve ei lenkje til bilete\n#Linjer som byrjar med # vert rekna som kommentarar\n#Det vert ikkje skilt mellom små og store bokstavar\n\n#Skriv alle fragment av regulære uttrykk over denne lina. La denne linja vere som ho er</pre>",
        "dberr-usegoogle": "Du kan søkja gjennom Google i mellomtida.",
        "dberr-outofdate": "Merk at versjonane deira av innhaldet vårt kan vera forelda.",
        "dberr-cachederror": "Dette er ein mellomlagra kopi av den etterspurde sida og er mogelegvis ikkje den gjeldande versjonen av henne.",
-       "htmlform-invalid-input": "Det finst problem med innskrivinga di",
+       "htmlform-invalid-input": "Det er problem med nokre av inndataa dine.",
        "htmlform-select-badoption": "Verdien du valde er ikkje eit gyldig alternativ.",
        "htmlform-int-invalid": "Verdien du valde er ikkje eit heiltal.",
        "htmlform-float-invalid": "Verdien du valde er ikkje eit tal.",
        "expand_templates_remove_nowiki": "Ikkje vis <nowiki>-merke i resultatet",
        "expand_templates_generate_xml": "Vis parsertre som XML",
        "expand_templates_generate_rawhtml": "Vis rå HTML",
-       "expand_templates_preview": "Førehandsvising"
+       "expand_templates_preview": "Førehandsvising",
+       "mediastatistics-header-unknown": "Ukjende",
+       "mediastatistics-header-audio": "Lyd",
+       "mediastatistics-header-video": "Videoar",
+       "mediastatistics-header-multimedia": "Rike media",
+       "mediastatistics-header-office": "Kontor",
+       "mediastatistics-header-text": "Tekstformat",
+       "mediastatistics-header-executable": "Kan køyrast",
+       "mediastatistics-header-archive": "Komprimerte format"
 }
index 59ca0dc..a3daf86 100644 (file)
        "history-feed-empty": "La pàgina che a l'ha ciamà a-i é pa; a podrìa esse stàita scancelà da 'nt ël sit, ò pura tramudà a n'àutr nòm.\n\nChe a verìfica con la [[Special:Search|pàgina d'arserca]] se a-i fusso mai dj'àutre pàgine che a podèisso andeje bin.",
        "rev-deleted-comment": "(resumé dla modìfica gavà)",
        "rev-deleted-user": "(stranòm gavà)",
-       "rev-deleted-event": "(assion dël registr gavà)",
+       "rev-deleted-event": "(detaj dël registr gavà)",
        "rev-deleted-user-contribs": "[nòm utent o adrëssa IP gavà - modìfica stërmà ai contributor]",
        "rev-deleted-text-permission": "Sta revision-sì dla pàgina a l'é staita '''scancelà'''.\nA-i peulo essnie dle marche ant ël [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registr ëd jë scancelament].",
        "rev-suppressed-text-permission": "Costa revision dla pàgina-sì a l'é stàita <stong>gavà via<strong>.\nIj detaj as treuvo ant ël [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registr ëd jë scancelament].",
        "revdelete-legend": "But-je coste limitassion-sì a le version scancelà:",
        "revdelete-hide-text": "Test dla revision",
        "revdelete-hide-image": "Stërma ël contnù dl'archivi",
-       "revdelete-hide-name": "Stërma assion e oget",
+       "revdelete-hide-name": "Stërmé ël bërsaj e ij paràmeter",
        "revdelete-hide-comment": "Resumé dla modìfica",
        "revdelete-hide-user": "Stranòm/adrëssa IP dl'utent",
        "revdelete-hide-restricted": "Stërmé j'anformassion a j'aministrator tan-me a j'àutri",
        "thumbnail-temp-create": "Pa bon a creé l'archivi ëd miniadura temporania",
        "thumbnail-dest-create": "Pa bon a salvé na miniadura sla destinassion",
        "thumbnail_invalid_params": "Paràmetro dla figurin-a pa giust",
+       "thumbnail_toobigimagearea": "Archivi con dimension pi granda che $1",
        "thumbnail_dest_directory": "As peul pa fesse ël dossié ëd destinassion",
        "thumbnail_image-type": "Sòrt ëd figura nen gestì",
        "thumbnail_gd-library": "Configurassion incompleta dla biblioteca GD: Fonsion $1 mancanta",
index 2726008..8b615dd 100644 (file)
        "wantedtemplates": "Predefinições pedidas",
        "mostlinked": "Páginas com mais afluentes",
        "mostlinkedcategories": "Categorias com mais membros",
-       "mostlinkedtemplates": "Páginas com mais transclusões",
+       "mostlinkedtemplates": "Páginas mais transcluídas",
        "mostcategories": "Páginas de conteúdo com mais categorias",
        "mostimages": "Imagens com mais afluentes",
        "mostinterwikis": "Páginas com mais interwikis",
index d095adf..4a86d89 100644 (file)
        "pool-queuefull": "A fila de processos está cheia",
        "pool-errorunknown": "Erro desconhecido",
        "pool-servererror": "O serviço ''pool counter'' não está disponível ($1).",
+       "poolcounter-usage-error": "Erro de uso: $1",
        "aboutsite": "Sobre a {{SITENAME}}",
        "aboutpage": "Project:Sobre",
        "copyright": "Conteúdo disponibilizado nos termos da $1, salvo indicação em contrário.",
        "wantedtemplates": "Predefinições desejadas",
        "mostlinked": "Páginas com mais afluentes",
        "mostlinkedcategories": "Categorias com mais membros",
-       "mostlinkedtemplates": "Páginas com mais afluentes",
+       "mostlinkedtemplates": "Páginas mais transcluídas",
        "mostcategories": "Páginas com mais categorias",
        "mostimages": "Ficheiros com mais afluentes",
        "mostinterwikis": "Páginas com mais interlínguas",
index 2c01b02..04a6f9d 100644 (file)
        "pool-queuefull": "Part of {{msg-mw|view-pool-error}}\n\n\"Pool\" refers to a pool of processes.",
        "pool-errorunknown": "Part of {{msg-mw|view-pool-error}}.\n{{Identical|Unknown error}}",
        "pool-servererror": "Error message. Parameters:\n* $1 - list of server addresses\n\nSee e.g. {{msg-mw|Poolcounter-desc}} (and the Pool Counter extension in general) for translation hints for “pool counter service”.",
+       "poolcounter-usage-error": "Used as error message. Parameters:\n* $1 - non-localized string describing usage mistake.",
        "aboutsite": "Used as the label of the link that appears at the footer of every page on the wiki (in most of  the skins) and leads to the page that contains the site description. The link target is {{msg-mw|aboutpage}}.\n\n[[mw:Manual:Interface/Aboutsite|MediaWiki manual]].\n\n{{doc-important|Do not change <nowiki>{{SITENAME}}</nowiki>.}}\n\n{{Identical|About}}",
        "aboutpage": "Used as the target of the link that appears at the footer of every page on the wiki (in most of  the skins) and leads to the page that contains the site description. Therefore the content should be the same with the page name of the site description page. Only the message in the [[mw:Manual:$wgLanguageCode|site language]]  ([[MediaWiki:Aboutpage]]) is used. The link label is {{msg-mw|aboutsite}}.\n\n{{doc-important|Do not translate \"Project:\" part, for this is the namespace prefix.}}",
        "copyright": "Parameters:\n* $1 - license name\n'''See also'''\n* {{msg-mw|Mobile-frontend-copyright}}",
index c9ca946..adf5fef 100644 (file)
        "pool-queuefull": "Čakalna vrsta zaloge je polna",
        "pool-errorunknown": "Neznana napaka",
        "pool-servererror": "Storitev založnega pulta ni na voljo ($1).",
+       "poolcounter-usage-error": "Napaka pri uporabi: $1",
        "aboutsite": "O {{GRAMMAR:dajalnik|{{SITENAME}}}}",
        "aboutpage": "Project:O {{GRAMMAR:dajalnik|{{SITENAME}}}}",
        "copyright": "Razen, kjer je navedeno drugače, je besedilo na razpolago pod pogoji licence $1.",
index e5b7b36..284117c 100644 (file)
@@ -53,7 +53,7 @@
        "tog-shownumberswatching": "Прикажи број корисника који надгледају",
        "tog-oldsig": "Текући потпис:",
        "tog-fancysig": "Сматрај потпис као викитекст (без самоповезивања)",
-       "tog-uselivepreview": "Користи тренутан преглед (експериментално)",
+       "tog-uselivepreview": "Користи тренутан преглед",
        "tog-forceeditsummary": "Упозори ме када не унесем опис измене",
        "tog-watchlisthideown": "Сакриј моје измене са списка надгледања",
        "tog-watchlisthidebots": "Сакриј измене ботова са списка надгледања",
        "filerenameerror": "Не могу да преименујем датотеку „$1“ у „$2“.",
        "filedeleteerror": "Не могу да обришем датотеку „$1“.",
        "directorycreateerror": "Не могу да направим фасциклу „$1“.",
+       "directoryreadonlyerror": "Директоријум „$1“ је само за читање.",
        "directorynotreadableerror": "Директоријум „$1“ није читљив.",
        "filenotfound": "Не могу да пронађем датотеку „$1“.",
        "unexpected": "Неочекивана вредност: „$1“=„$2“.",
        "anoneditwarning": "<strong>Упозорење:</strong> нисте пријављени. Ваша ИП адреса ће бити јавно видљива у историји ове странице ако начините било какву измену. Ако се <strong>[$1 пријавите]</strong> или <strong>[$2 отворите налог]</strong> ваше измене ће бити приписане вашем корисничком имену.",
        "anonpreviewwarning": "''Нисте пријављени. Ваша ИП адреса ће бити забележена у историји ове странице.''",
        "missingsummary": "'''Напомена:''' нисте унели опис измене.\nАко поново кликнете на „{{int:savearticle}}“, ваша измена ће бити сачувана без описа.",
+       "selfredirect": "<strong>Упозорење:</strong> преусмеравате ову страницу на њу саму.\nМожда вам је одредишна страница погрешна или уређујете погрешну страницу.\nАко још једном притиснете „{{int:savearticle}}“ преусмерење ће свеједно бити направљено.",
        "missingcommenttext": "Унесите коментар испод.",
        "missingcommentheader": "'''Напомена:''' нисте унели наслов овог коментара.\nАко поново кликнете на „{{int:savearticle}}“, ваша измена ће бити сачувана без наслова.",
        "summary-preview": "Преглед описа:",
        "undo-summary": "Поништена измена $1 {{GENDER:$2|корисника|кориснице}} [[Special:Contribs/$2|$2]] ([[User talk:$2|разговор]])",
        "undo-summary-username-hidden": "Поништи измену $1 скривеног корисника",
        "cantcreateaccounttitle": "Не могу да отворим налог",
-       "cantcreateaccount-text": "Отварање налога с ове IP адресе (<strong>$1</strong>) је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>",
-       "cantcreateaccount-range-text": "Отварање налога са IP адреса у распону '''$1''', који укључује и вашу IP адресу ('''$4''') је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>",
+       "cantcreateaccount-text": "Отварање налога с ове ИП адресе (<strong>$1</strong>) је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>",
+       "cantcreateaccount-range-text": "Отварање налога са ИП адреса у распону '''$1''', који укључује и вашу ИП адресу ('''$4''') је блокирао/ла [[User:$3|$3]].\n\nРазлог који је навео/ла $3 је <em>$2</em>",
        "viewpagelogs": "Погледај дневнике ове странице",
        "nohistory": "Не постоји историја измена ове странице.",
        "currentrev": "Текућа измена",
        "revdelete-legend": "Ограничења видљивости",
        "revdelete-hide-text": "Сакриј текст измене",
        "revdelete-hide-image": "Сакриј садржај датотеке",
-       "revdelete-hide-name": "СакÑ\80иÑ\98 Ñ\80адÑ\9aÑ\83 Ð¸ Ð¾Ð´Ñ\80едиÑ\88Ñ\82е",
+       "revdelete-hide-name": "СакÑ\80иÑ\98 Ñ\86иÑ\99 Ð¸ Ð¿Ð°Ñ\80амеÑ\82Ñ\80е",
        "revdelete-hide-comment": "Опис измене",
        "revdelete-hide-user": "Кориснчко име уредника/ИП адреса",
        "revdelete-hide-restricted": "Сакриј податке од администратора и других корисника",
        "search-redirect": "(преусмерење $1)",
        "search-section": "(одељак $1)",
        "search-category": "(категорија $1)",
+       "search-file-match": "(подудара се садржај датотеке)",
        "search-suggest": "Да ли сте мислили на: $1",
        "search-interwiki-caption": "Братски пројекти",
        "search-interwiki-default": "Резултати са $1:",
        "right-move": "премештање страница",
        "right-move-subpages": "премештање страница с њиховим подстраницама",
        "right-move-rootuserpages": "премештање основних корисничких страница",
+       "right-move-categorypages": "премештање категорија",
        "right-movefile": "премештање датотека",
        "right-suppressredirect": "прескакање стварања преусмерења при премештању страница",
        "right-upload": "отпремање датотека",
        "right-reupload-shared": "мењање датотека на дељеном складишту мултимедије",
        "right-upload_by_url": "отпремање датотека са веб адресе",
        "right-purge": "чишћење кеш меморије странице без потврде",
-       "right-autoconfirmed": "Not be affected by IP-based rate limits",
+       "right-autoconfirmed": "без ограничавања ставки за ИП адресе",
        "right-bot": "сматрање измена као аутоматски процес",
        "right-nominornewtalk": "непоседовање малих измена на страницама за разговор отвара прозор за нове поруке",
        "right-apihighlimits": "коришћење виших граница за упите из АПИ-ја",
        "right-deletedtext": "прегледање обрисаног текста и измена између обрисаних измена",
        "right-browsearchive": "претрага обрисаних страница",
        "right-undelete": "враћање обрисаних страница",
-       "right-suppressrevision": "прегледање и враћање измена које су сакривене од стране администратора",
+       "right-suppressrevision": "прегледање, скривање и враћање одређених измена страница од свих корисника",
+       "right-viewsuppressed": "прегледање измена скривених од свих корисника",
        "right-suppressionlog": "гледање приватних дневника",
        "right-block": "блокирање даљих измена других корисника",
        "right-blockemail": "онемогућавање корисницима да шаљу е-поруке",
        "recentchanges-label-plusminus": "Промена величине странице у бајтовима",
        "recentchanges-legend-heading": "'''Легенда:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|списак нових страница]])",
-       "rcnotefrom": "Испод су измене од <strong>$2</strong> (до <strong>$1</strong> измена).",
+       "rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од <strong>$3, $4</strong> (до <strong>$1</strong> приказано).",
        "rclistfrom": "Прикажи нове измене почев од $2 $3",
        "rcshowhideminor": "$1 мање измене",
        "rcshowhideminor-show": "Прикажи",
        "license-header": "Лиценца:",
        "nolicense": "није изабрано",
        "license-nopreview": "(преглед није доступан)",
-       "upload_source_url": "(иÑ\81пÑ\80авна Ð¸ Ñ\98авно Ð´Ð¾Ñ\81Ñ\82Ñ\83пна адреса)",
-       "upload_source_file": "(даÑ\82оÑ\82ека Ð½Ð° Ð²Ð°Ñ\88ем Ñ\80аÑ\87Ñ\83наÑ\80Ñ\83)",
+       "upload_source_url": "(ваÑ\88а Ð¸Ð·Ð°Ð±Ñ\80ана Ð´Ð°Ñ\82оÑ\82ека Ð¾Ð´ Ð¸Ñ\81пÑ\80авниÑ\85 Ð¸ Ñ\98авно Ð´Ð¾Ñ\81Ñ\82Ñ\83пниÑ\85 адреса)",
+       "upload_source_file": "(ваÑ\88а Ð¾Ð´Ð°Ð±Ñ\80ана Ð´Ð°Ñ\82оÑ\82ека Ñ\81а Ð²Ð°Ñ\88ег Ñ\80аÑ\87Ñ\83наÑ\80а)",
        "listfiles-delete": "обриши",
        "listfiles-summary": "Ова посебна страница приказује све послате датотеке.",
        "listfiles_search_for": "Назив датотеке:",
        "filedelete-maintenance": "Брисање и враћање датотека је привремено онемогућено због одржавања.",
        "filedelete-maintenance-title": "Не могу да обришем датотеку",
        "mimesearch": "MIME претрага",
-       "mimesearch-summary": "Ова страница омогућава филтрирање датотека према њиховим MIME типовима.\nУлазни подаци: contenttype/subtype, нпр. <code>image/jpeg</code>.",
+       "mimesearch-summary": "Ова страница омогућава филтрирање датотека према њиховим MIME типовима.\nУлазни подаци: contenttype/subtype или contenttype/*, нпр. <code>image/jpeg</code>.",
        "mimetype": "MIME врста:",
        "download": "преузми",
        "unwatchedpages": "Ненадгледане странице",
        "pager-older-n": "{{PLURAL:$1|старији 1|старијих $1}}",
        "suppress": "Надзор",
        "querypage-disabled": "Ова посебна страница је онемогућена ради побољшања перформанси.",
+       "apihelp": "API помоћ",
+       "apihelp-no-such-module": "Модул „$1“ није пронађен.",
        "booksources": "Штампани извори",
        "booksources-search-legend": "Тражи књижевне изворе",
        "booksources-isbn": "ISBN:",
        "listgrouprights-removegroup-self": "уклањање {{PLURAL:$2|групе|група}} са свог налога: $1",
        "listgrouprights-addgroup-self-all": "Додај све групе на сопствени налог",
        "listgrouprights-removegroup-self-all": "Уклони све групе са сопственог налога",
+       "listgrouprights-namespaceprotection-header": "Ограничења именских простора",
        "listgrouprights-namespaceprotection-namespace": "Именски простор",
+       "listgrouprights-namespaceprotection-restrictedto": "Права потребна за уређивање",
        "trackingcategories-name": "Име поруке",
        "trackingcategories-nodesc": "Опис није доступан.",
        "trackingcategories-disabled": "Категорија је онемогућена",
        "ipb-disableusertalk": "Забрани овом кориснику да уређује своју страницу за разговор док је блокиран",
        "ipb-change-block": "Поново блокирај корисника с овим поставкама",
        "ipb-confirm": "Потврди блокирање",
-       "badipaddress": "Неисправна IP адреса",
+       "badipaddress": "Неисправна ИП адреса",
        "blockipsuccesssub": "Блокирање је успело",
        "blockipsuccesstext": "[[Special:Contributions/$1|$1]] је {{GENDER:$1|блокиран|блокирана|блокиран}}.<br />\nБлокирања можете да погледате [[Special:BlockList|овде]].",
        "ipb-blockingself": "Овом радњом ћете блокирати себе! Јесте ли сигурни да то желите?",
        "ipb-unblock-addr": "Деблокирај $1",
        "ipb-unblock": "Деблокирај корисничко име или ИП адресу",
        "ipb-blocklist": "Погледај постојећа блокирања",
-       "ipb-blocklist-contribs": "Доприноси за $1",
+       "ipb-blocklist-contribs": "Доприноси за {{GENDER:$1|$1}}",
        "unblockip": "Деблокирај корисника",
-       "unblockiptext": "Користите образац испод да бисте вратили право писања блокираној IP адреси или корисничком имену.",
+       "unblockiptext": "Користите образац испод да бисте вратили право писања блокираној ИП адреси или корисничком имену.",
        "ipusubmit": "Уклони ову блокаду",
        "unblocked": "[[User:$1|$1]] је деблокиран",
        "unblocked-range": "$1 је деблокиран",
        "pagelang-select-lang": "Изабери језик",
        "right-pagelang": "мењање језика странице",
        "action-pagelang": "промену језика странице",
+       "mediastatistics": "Статистика датотека",
        "mediastatistics-summary": "Статистике о типовима послатих датотека. Овде су урачунате само најновије верзије датотека. Старе или обрисане верзије нису урачунате.",
        "mediastatistics-table-mimetype": "MIME тип",
        "mediastatistics-table-extensions": "Могуће екстензије",
        "mediastatistics-table-count": "Број датотека",
        "mediastatistics-table-totalbytes": "Укупна величина",
+       "mediastatistics-header-unknown": "Непознато",
        "mediastatistics-header-bitmap": "Битмап слике",
        "mediastatistics-header-drawing": "Цртежи (векторске слике)",
        "mediastatistics-header-audio": "Аудио",
        "mediastatistics-header-video": "Видео",
-       "mediastatistics-header-office": "Канцеларија"
+       "mediastatistics-header-office": "Канцеларија",
+       "mediastatistics-header-text": "Текстуалне",
+       "mediastatistics-header-executable": "Извршне",
+       "mediastatistics-header-archive": "Компресоване",
+       "json-error-syntax": "Грешка у синтакси"
 }
index 8721007..708dd1b 100644 (file)
@@ -45,7 +45,7 @@
        "tog-shownumberswatching": "Prikaži broj korisnika koji nadgledaju",
        "tog-oldsig": "Tekući potpis:",
        "tog-fancysig": "Smatraj potpis kao vikitekst (bez samopovezivanja)",
-       "tog-uselivepreview": "Koristi trenutan pregled (eksperimentalno)",
+       "tog-uselivepreview": "Koristi trenutan pregled",
        "tog-forceeditsummary": "Upozori me kada ne unesem opis izmene",
        "tog-watchlisthideown": "Sakrij moje izmene sa spiska nadgledanja",
        "tog-watchlisthidebots": "Sakrij izmene botova sa spiska nadgledanja",
        "revdelete-legend": "Ograničenja vidljivosti",
        "revdelete-hide-text": "Sakrij tekst izmene",
        "revdelete-hide-image": "Sakrij sadržaj datoteke",
-       "revdelete-hide-name": "Sakrij radnju i odredište",
+       "revdelete-hide-name": "Sakrij cilj i parametre",
        "revdelete-hide-comment": "Opis izmene",
        "revdelete-hide-user": "Korisnčko ime urednika/IP adresa",
        "revdelete-hide-restricted": "Sakrij podatke od administratora i drugih korisnika",
        "right-reupload-shared": "menjanje datoteka na deljenom skladištu multimedije",
        "right-upload_by_url": "otpremanje datoteka sa veb adrese",
        "right-purge": "čišćenje keš memorije stranice bez potvrde",
-       "right-autoconfirmed": "Not be affected by IP-based rate limits",
+       "right-autoconfirmed": "bez ograničavanja stavki za IP adrese",
        "right-bot": "smatranje izmena kao automatski proces",
        "right-nominornewtalk": "neposedovanje malih izmena na stranicama za razgovor otvara prozor za nove poruke",
        "right-apihighlimits": "korišćenje viših granica za upite iz API-ja",
        "right-deletedtext": "pregledanje obrisanog teksta i izmena između obrisanih izmena",
        "right-browsearchive": "pretraga obrisanih stranica",
        "right-undelete": "vraćanje obrisanih stranica",
-       "right-suppressrevision": "pregledanje i vraćanje izmena koje su sakrivene od strane administratora",
+       "right-suppressrevision": "pregledanje, skrivanje i vraćanje određenih izmena stranica od svih korisnika",
        "right-suppressionlog": "gledanje privatnih dnevnika",
        "right-block": "blokiranje daljih izmena drugih korisnika",
        "right-blockemail": "onemogućavanje korisnicima da šalju e-poruke",
        "recentchanges-label-plusminus": "Promena veličine stranice u bajtovima",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])",
-       "rcnotefrom": "Ispod su izmene od <b>$2</b> (do <b>$1</b> izmena).",
+       "rcnotefrom": "Ispod {{PLURAL:$5|je izmena|su izmene}} od <strong>$3, $4</strong> (do <strong>$1</strong> prikazano).",
        "rclistfrom": "Prikaži nove izmene počev od $2 $3",
        "rcshowhideminor": "$1 manje izmene",
        "rcshowhideminor-show": "Prikaži",
        "license-header": "Licenca:",
        "nolicense": "nije izabrano",
        "license-nopreview": "(pregled nije dostupan)",
-       "upload_source_url": "(ispravna i javno dostupna adresa)",
-       "upload_source_file": "(datoteka na vašem računaru)",
+       "upload_source_url": "(vaša izabrana datoteka od ispravnih i javno dostupnih adresa)",
+       "upload_source_file": "(vaša odabrana datoteka sa vašeg računara)",
        "listfiles-delete": "obriši",
        "listfiles-summary": "Ova posebna stranica prikazuje sve poslate datoteke.",
        "listfiles_search_for": "Naziv datoteke:",
        "filedelete-maintenance": "Brisanje i vraćanje datoteka je privremeno onemogućeno zbog održavanja.",
        "filedelete-maintenance-title": "Ne mogu da obrišem datoteku",
        "mimesearch": "MIME pretraga",
-       "mimesearch-summary": "Ova stranica omogućava filtriranje datoteka prema njihovim MIME tipovima.\nUlazni podaci: contenttype/subtype, npr. <code>image/jpeg</code>.",
+       "mimesearch-summary": "Ova stranica omogućava filtriranje datoteka prema njihovim MIME tipovima.\nUlazni podaci: contenttype/subtype ili contenttype/*, npr. <code>image/jpeg</code>.",
        "mimetype": "MIME vrsta:",
        "download": "preuzmi",
        "unwatchedpages": "Nenadgledane stranice",
        "hebrew-calendar-m12-gen": "Elul",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|razgovor]])",
        "timezone-utc": "UTC",
-       "unknown_extension_tag": "Nepoznata oznaka proširenja „$1“",
        "duplicate-defaultsort": "'''Upozorenje:''' podrazumevani ključ svrstavanja „$2“ menja nekadašnji ključ „$1“.",
        "version": "Verzija",
        "version-extensions": "Instalirana proširenja",
index 968a02d..01f80f5 100644 (file)
@@ -14,8 +14,8 @@
                ]
        },
        "tog-underline": "Havolalarning tagiga chizish:",
-       "tog-hideminor": "Yangi oʻzgarishlar roʻyxatidan kichik tahrirlarni yashirish",
-       "tog-hidepatrolled": "Yangi oʻzgarishlar roʻyxatidan tekshirilgan tahrirlarni yashirish",
+       "tog-hideminor": "Yangi oʻzgarishlar roʻyxatida kichik tahrirlarni yashirish",
+       "tog-hidepatrolled": "Yangi oʻzgarishlar roʻyxatida tekshirilgan tahrirlarni yashirish",
        "tog-newpageshidepatrolled": "Yangi sahifalar roʻyxatidan tekshirilgan sahifalarni yashirish",
        "tog-extendwatchlist": "Kengaytirilgan kuzatuv roʻyxati: faqat oxirgi paytdagi emas, barcha oʻzgarishlar koʻrsatiladi",
        "tog-usenewrc": "Yangi oʻzgarishlar va kuzatuv roʻyxatidagi sahifalarni guruhlarga boʻlish (JavaScript orqali)",
        "internalerror": "Ichki xato",
        "internalerror_info": "Ichki xato: $1",
        "filecopyerror": "\"$1\" fayl nusxasini \"$2\" fayliga koʻchirib boʻlmadi.",
-       "filerenameerror": "Faylning nomini \"$1\"dan \"$2\"ga o‘zgartirib bo‘lmadi.",
+       "filerenameerror": "Fayl nomini «$1»dan «$2»ga o‘zgartirish imkoni yoʻq.",
        "filedeleteerror": "\"$1\" faylini oʻchirib boʻlmadi.",
-       "directorycreateerror": "\"$1\" papkasini yaratib bo‘lmadi.",
+       "directorycreateerror": "\"$1\" papkasini yaratish imkoni yoʻq.",
        "filenotfound": "\"$1\" faylini topib boʻlmadi.",
        "unexpected": "Kutilmagan qiymat: \"$1\"=\"$2\".",
        "cannotdelete-title": "\"$1\" sahifasini oʻchirib boʻlmadi.",
        "file-anchor-link": "Fayl",
        "filehist": "Fayl tarixi",
        "filehist-help": "Faylning biror paytdagi holatini koʻrish uchun tegishli sana/vaqtga bosingiz.",
-       "filehist-deleteall": "barini o'chirish",
+       "filehist-deleteall": "barchasini oʻchirish",
        "filehist-deleteone": "o‘chirish",
        "filehist-revert": "qaytarish",
        "filehist-current": "joriy",
index 57b329a..e9b4b7c 100644 (file)
        "pool-queuefull": "请求队列已满",
        "pool-errorunknown": "未知错误",
        "pool-servererror": "池计数器服务不可用($1)。",
+       "poolcounter-usage-error": "用法错误:$1",
        "aboutsite": "关于{{SITENAME}}",
        "aboutpage": "Project:关于",
        "copyright": "除非另有声明,本网站内容采用$1授权。",
index 3209c9b..a92f1c1 100644 (file)
@@ -47,7 +47,7 @@
        margin: 0;
        padding: 0;
        padding-right: 42px;
-       background: transparent url(images/nextredirect-rtl.png) bottom left no-repeat;
+       background: transparent url(images/nextredirect-rtl.png) bottom right no-repeat;
        /* @embed */
        background-image: -webkit-linear-gradient(transparent, transparent), url(images/nextredirect-rtl.svg);
        /* @embed */
@@ -57,7 +57,7 @@
 /* @noflip */
 .mw-content-rtl .redirectText li:first-child {
        padding-right: 47px;
-       background: transparent url(images/redirect-rtl.png) bottom left no-repeat;
+       background: transparent url(images/redirect-rtl.png) bottom right no-repeat;
        /* @embed */
        background-image: -webkit-linear-gradient(transparent, transparent), url(images/redirect-rtl.svg);
        /* @embed */
index f7dc0a9..cf9d829 100644 (file)
@@ -8934,6 +8934,19 @@ This is RFC 822 but thisRFC 822 is not RFC 822linked.
 </p>
 !! end
 
+!! test
+Magic links: RFC (w/ non-newline whitespace, bug 28950/29025)
+!! wikitext
+RFC &nbsp;&#160;&#0160;&#xA0;&#Xa0; 822
+RFC
+822
+!! html
+<p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a>
+RFC
+822
+</p>
+!! end
+
 !! test
 Magic links: ISBN (bug 1937)
 !! wikitext
@@ -8952,6 +8965,23 @@ This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-
 </p>
 !! end
 
+!! test
+Magic links: ISBN (w/ non-newline whitespace, bug 28950/29025)
+!! wikitext
+ISBN &nbsp;&#160;&#0160;&#xA0;&#Xa0; 978&nbsp;0&#160;316&#0160;09811&#xA0;3
+ISBN
+9780316098113
+ISBN 978
+0316098113
+!! html
+<p><a href="/wiki/Special:BookSources/9780316098113" class="internal mw-magiclink-isbn">ISBN 978 0 316 09811 3</a>
+ISBN
+9780316098113
+ISBN 978
+0316098113
+</p>
+!! end
+
 !! test
 Magic links: PMID incorrectly converts space to underscore
 !! wikitext
@@ -8970,6 +9000,19 @@ This is PMID 1234 but thisPMID 1234 is not PMID 1234linked.
 </p>
 !! end
 
+!! test
+Magic links: PMID (w/ non-newline whitespace, bug 28950/29025)
+!! wikitext
+PMID &nbsp;&#160;&#0160;&#xA0;&#Xa0; 1234
+PMID
+1234
+!! html
+<p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a>
+PMID
+1234
+</p>
+!! end
+
 ###
 ### Templates
 ####